Spring整合Mybatis

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)测试
在这里插入图片描述
输出查询结果,大功告成!!!

以上整合步骤、是随机可变的,不一定非得按照我写的这个步骤来,只是建议这样做,可根据自己的实际情况合理分配。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值