Spring IOC实战
使用MyBatis时,需要创建对象都交给spring ioc容器创建
spring集成MyBatis官方文档: http://mybatis.org/spring/zh/factorybean.html
1)sqlSessionFactory
2)sqlSession
3)UserMapper
第1步:导入mybatis包 + mysql驱动包+ mybatis-spring集成的包 + spring对jdbc/orm支持的包+其他包(log4j)
[注意] mybatis-spring的版本必须与Mybatis的版本要匹配,否则报错
MyBatis-Spring MyBatis Spring Framework Spring Batch Java
2.0 3.5+ 5.0+ 4.0+ Java 8+
1.3 3.4+ 3.2.2+ 2.1+ Java 6+
第2步:beans-datasource.xml(mybatis-config.xml XXXMapper.xml)
1) 加载数据的配置信息
<context:property-placeholder location="database.properties"/>
2)数据源(连接池)bean
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${driver}" />
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</bean>
3) SqlSessionFactoryBean
1)数据源 【必须】
2)mapper映射文件的位置 【必须】
3)别名 【选配】
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<!-- 别名 -->
<!--<property name="typeAliasesPackage" value="com.cc.model"></property>-->
<!-- mapper XML映射 -->
<property name="mapperLocations" value="classpath*:mapper/*Mapper.xml"></property>
<!-- 数据源 -->
<property name="dataSource" ref="dataSource"></property>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.cc.mapper"></property>
</bean>
4) 事务 DataSourceTransactionManager 【必配】
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
第3步:编写单元测试
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-datasource.xml")
public class TestMyBatis {
@Autowired
UserMapper userMapper;
@Test
public void testUser() {
List<User> users = userMapper.selectByExample(null);
System.out.println("users==>"+users);
}
}
【注意】
1、spring-database.xml中的${username}默认获取的是win操作系统的用户名
故:datasource.properties文件 username=xxx 改为userName=xxxx
2、spring集成mybait的包的版本问题
mybatis-spring-1.2.2只能集成mybatis 3.2 版本 不能继承最新的 3.5.5
需要maven仓库获取mybatis-spring-2.x的版本的jar
浙公网安备 33010602011771号