环境Spring3.2+Mybatis 3.2.7,JDK 1.6,开发工具Myeclipse 2014 GA Pro,数据库MySQL 5.5(数据采用之前Oracle的,直接用Navicat从Oracle导入到Mysql,然后改了一下数据类型,主键自增)
Mapper和实体部分使用Mybatis Generator生成(取消了Example),然后按照传智播客教程上面的做法,每个实体都谢了扩展实体,需要分页的和需要条件查询的都写了Vo类,基础Mapper的ResultMap类型基本都是对应的扩展类,最终基础Mapper只是负责增加数据,删除数据(根据主键),更新数据,剩下的都在扩展Mapper中(3个必须的,根据主键查询,查询全部,查询数量)。
SQLMapConfig.xml中配置了typeAliases,然后我竟然没有用缩写= =还是用了全路径名称= =
Spring的配置都在一起applicationContext.xml中,包括数据源,sqlSessionFactory,SpringMVC相关的配置,具体如下
<!-- Bean扫描配置 -->
<context:component-scan base-package="cn.edu.bjut.zj.tims"/>
<!-- 开启注解开发模式 -->
<context:annotation-config/>
<!-- MyBatis相关配置 -->
<!--资源连接文件-->
<context:property-placeholder location="classpath:db.properties" />
<!-- 数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="30" />
<property name="maxIdle" value="5" />
</bean>
<!-- sqlSessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:sqlMapperConfig.xml" />
<property name="dataSource" ref="dataSource"></property>
</bean>
<!-- Mapper扫描器 -->
<bean id="mapper" class="org.mybatis.spring.mapper.MapperScannerConfigurer" >
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
<property name="basePackage" value="cn.edu.bjut.zj.tims.mapper"/>
</bean>
<!-- SpringMVC相关配置自动加载 -->
<mvc:annotation-driven/>
<!-- View解释器(说白了就是前缀后缀) -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 配置jsp路径的前缀 -->
<property name="prefix" value="/WEB-INF/jsp/"/>
<!-- 配置jsp路径的后缀 -->
<property name="suffix" value=".jsp"/>
</bean>
事务,拦截器没有配置(- -因为还没有学会。。。)