spring整合mybatis
mybatis使用回顾
通过配置文件创建SqlSessionFactory
通过SqlSessionFactory创建SqlSession对象
通过SqlSession操作数据库
调用session.commit()提交事务
调用session.close()关闭会话
核心思想
将SqlSessionFactory和SqlSession交给spring来管理,spring将配置文件也当作bean对象来处理。
整合步骤
新建项目,建库建表,建实体
导入jar文件
Mybatis - 11, spring - 8(基础包4个,AOP包4个) , - 连接池 - 2 DBCP,( pool,dbcp) , 整合包 - mybatis-spring, spring对持久层的支持包 - 1 spring-jdbc, 事务管理 tx - 1个 spring-tx,
导入配置文件(spring,mybatis,log4j)
Mybatis , spring , log4j , db
编写配置文件,Mybatis和Spring整合
测试
具体步骤
1、新建项目,建库建表,建实体
2、导入jar文件,
注意需要提供spring对jdbc的支持,使用连接池还需要common-pool的包,spring-tx包 - 事务管理
如果使用mybatis3.4以上的版本可以使用mybatis-spring-1.3以上的版本
如果使用mybatis3.4以下的版本可以使用mybatis-spring-1.3以下的版本
3、导入配置文件(spring,mybatis,log4j,db)
4、编写配置文件,Mybatis和Spring整合
思想:将mybatis的相关内容都交给spring来管理
1、将数据源文件交给spring管理,spring中提供了PropertyPlaceholderConfigurer来进行管理,将数据源的配置文件进行注入
注意:有location的,一般都会加classpath,表示的是src下。
2、spring接管数据源,使用数据库连接池,dbcp使用BasicDataSource,c3p0使用ComboPooledDataSource
3、将mybatis的工厂交给spring管理,spring提供了SqlSessionFactoryBean来管理,他需要依赖数据源的信息。
注意:
1)在工厂中还可以使用configLocation引入mybatis的配置
2)使用mapperLocations引入映射器,在value中需要添加classpath:
3)使用typeAliasesPackage进行别名的扫描
4、将sqlSession对象交给spring来管理,spring提供了SqlSessionTemplate来管理sqlSession
5、将接口也交给spring来进行管理,使用MapperScannerConfigurer进行管理
5、创建UserController,UserService,UserMapper进行测试