作者:网吧b国漫救星 | 来源:互联网 | 2023-08-16 09:35
好程序员Java学习路线分享MyBatis之Spring整合,Spring、SpringMVC和MyBatis是目前企业开发的三大框架。本章我们将学习将Spring和
好程序员Java
学习路线分享
MyBatis
之
Spring
整合,
Spring
、
SpringMVC
和
MyBatis
是目前企业开发的三大框架。本章我们将学习将
Spring
和
MyBatis
整合到一起,成为我们项目开发的技术骨架。
引入依赖
首先我们需要在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.
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 users = userDAO.selectAll();
11.
users.forEach((user)->System.out.println(user));
12.
}
13.
}
总结
使用Spring
整合
MyBatis
后,能够利用
Spring
强大的
IOC
机制,将
Mapper
接口的代理对象注入进来,从而避免了手动创建
SqlSessionFactory
和
SqlSession
对象的麻烦,同时
Spring
对
SqlSession
的访问方式进行了优化,解决了
SQLSession
的线程安全问题。