重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
好程序员Java 学习路线分享 MyBatis 之 Spring 整合, Spring 、 SpringMVC 和 MyBatis 是目前企业开发的三大框架。本章我们将学习将 Spring 和 MyBatis 整合到一起,成为我们项目开发的技术骨架。
创新互联于2013年成立,先为曲阳等服务建站,曲阳等地企业,进行企业商务咨询服务。为曲阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
引入依赖
首先我们需要在Maven 项目中添加依赖, Spring 框架和 MyBatis 框架需要的依赖有:
Ø mybatis MyBatis
Ø mybatis-spring MyBatis 的 Spring 兼容包,用于整合 MyBatis
Ø spring-jdbc Spring 的 JDBC 包,配置数据源时需要
Ø spring-test Spring 单元测试
Ø spring-context Spring 上下文,提供 IOC 和 AOP 服务
Ø Junit 单元测试框架
Ø MySQL-connector-java MySQL 数据库驱动
Ø c3p0 连接池
添加配置文件
首先我们用properties 文件配置 JDBC 的参数:
示例代码:jdbc.properties
1. driver=com.mysql.cj.jdbc.Driver
2. url=jdbc:mysql://localhost/java1903?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8&useSSL=false
3. user=root
4. password=123456
接下来在Spring 配置文件中整合 MyBatis
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
编写Mapper 接口
以一个基本的查询功能为例
代码示例:
1. /**
2. * 用户 DAO 接口
3. */
4. public interface UserDAO {
5. /**
6. * 查询所有用户
7. */
8.
List
9. }
编写Mapper 映射文件
编写Mapper 接口的映射,实现查询功能
代码示例:
1.
2.
3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21. select * from tb_user
22.
23.
24.
Spring 整合 JUnit 进行单元测试
使用Spring 整合 JUnit ,测试 Mapper 接口是否能用 SpringIOC 实现注入:
代码示例
1. @ContextConfiguration(locations = "classpath:applicationContext.xml")
2. @RunWith(SpringJUnit4ClassRunner.class)
3. public class TestDAO {
4.
5. @Resource
6. UserDAO userDAO;
7.
8. @Test
9. public void testUserDAO(){
10.
List
11. users.forEach((user)->System.out.println(user));
12. }
13. }
总结
使用Spring 整合 MyBatis 后,能够利用 Spring 强大的 IOC 机制,将 Mapper 接口的代理对象注入进来,从而避免了手动创建 SqlSessionFactory 和 SqlSession 对象的麻烦,同时 Spring 对 SqlSession 的访问方式进行了优化,解决了 SQLSession 的线程安全问题。