Mybatis虽然对比JDBC对数据库的操作效率有了极大的提升,但在真实开发中,代码显得还是有一些繁琐和沉余,所以还需要对Mybatis进行更进一步的优化,需要把它整合进Spring里面,把创建对象的工作都交给Spring来管理和创建,从而大大降低代码的耦合度,便于后期维护扩展新的功能和提高开发效率,毕竟,在IT行业,偷懒才能更好的进步嘛~
整合步骤:
我们这里以maven项目为例
1、在创建的项目的pom.xml文件中导入相关的jar包和相关maven依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spriing-study</artifactId>
<groupId>com.kuang</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>ch10_1-mybatis-spring</artifactId>
<dependencies>
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!--mysql核心依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
<!--mybatis核心依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!--spring核心依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<!--spring操作数据库核心依赖【重要】-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<!--spring开启事务支持核心依赖,如果不导入,spring在开启事务时,程序会报错-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.4</version>
</dependency>
<!--spring整合mybatis核心依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
<!--maven静态资源过滤器-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
</project>
以上八个核心依赖都是Spring整合Mybatis必须要导入的maven依赖,缺一不可,以上版本不一定要和我的一模一样,建议都使用最新版本的,向下嫌容。
2、检查maven目录下有没有导入相关jar包
maven的Dependencies包下出现以上jar包,就说明导入成功了!
3、配置数据库链接的数据源,我们把之前Myabtis的数据库链接数据源替换成Spring的
之前Myabtis的数据源
替换之后Spring的数据源(注意:在替换为Spring的数据源以后,Mybatis的数据源就可以不要了,它们不能同时存在一个项目里面,否则运行程序会报错)
以上三段配置代码都是固定不变的,变的是你要注入的bean对象,这样就可以在配置文件的下面注入你要注入的对象了。
4、配置好数据源和导入相关依赖jar包以后,就可以进行坏境测试了。
这里我们以要查询所有用户为例,以下是要查询的用户数据
1)实体类
package com.kuang.pojo;
public class User {
private int id;
private String name;
private String pwd;
public User() {
}
public User(int id, String name, String pwd) {
this.id = id;
this.name = name;
this.pwd = pwd;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", pwd='" + pwd + '\'' +
'}';
}
}
2)查询接口
3)写查询sql语句的xml文件
4)实现接口的实现类
5)要注入的bean对象
6)测试
输出查询结果,大功告成!!!
以上整合步骤、是随机可变的,不一定非得按照我写的这个步骤来,只是建议这样做,可根据自己的实际情况合理分配。