环境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相关的配置,具体如下
1<!-- Bean扫描配置 --> 2 <context:component-scan base-package="cn.edu.bjut.zj.tims"/> 3 <!-- 开启注解开发模式 --> 4 <context:annotation-config/> 5 <!-- MyBatis相关配置 --> 6 <!--资源连接文件--> 7 <context:property-placeholder location="classpath:db.properties" /> 8 <!-- 数据源 --> 9 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 10 <property name="driverClassName" value="${jdbc.driver}" /> 11 <property name="url" value="${jdbc.url}" /> 12 <property name="username" value="${jdbc.username}" /> 13 <property name="password" value="${jdbc.password}" /> 14 <property name="maxActive" value="30" /> 15 <property name="maxIdle" value="5" /> 16 </bean> 17 <!-- sqlSessionFactory --> 18 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 19 <property name="configLocation" value="classpath:sqlMapperConfig.xml" /> 20 <property name="dataSource" ref="dataSource"></property> 21 </bean> 22 <!-- Mapper扫描器 --> 23 <bean id="mapper" class="org.mybatis.spring.mapper.MapperScannerConfigurer" > 24 <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> 25 <property name="basePackage" value="cn.edu.bjut.zj.tims.mapper"/> 26 </bean> 27 <!-- SpringMVC相关配置自动加载 --> 28 <mvc:annotation-driven/> 29 30 <!-- View解释器(说白了就是前缀后缀) --> 31 <bean 32 class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 33 <!-- 配置jsp路径的前缀 --> 34 <property name="prefix" value="/WEB-INF/jsp/"/> 35 <!-- 配置jsp路径的后缀 --> 36 <property name="suffix" value=".jsp"/> 37 </bean>
事务,拦截器没有配置(- -因为还没有学会。。。)