好程序员Java学习路线分享MyBatis之Spring整合

 好程序员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 selectAll();

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.      

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 users = userDAO.selectAll();

11.          users.forEach((user)->System.out.println(user));

12.      }

13.  }

好程序员Java学习路线分享MyBatis之Spring整合

总结

使用Spring 整合 MyBatis 后,能够利用 Spring 强大的 IOC 机制,将 Mapper 接口的代理对象注入进来,从而避免了手动创建 SqlSessionFactory 和 SqlSession 对象的麻烦,同时 Spring 对 SqlSession 的访问方式进行了优化,解决了 SQLSession 的线程安全问题。


当前文章:好程序员Java学习路线分享MyBatis之Spring整合
浏览地址:http://myzitong.com/article/poscoi.html