2020-12-15

关于整合Mybatis与Spring的笔记

共有两种方式,第一种就是将mybatis的各种操作转移到spring上,第二种则是在第一种的基础上简化了getSqlsession的操作。

modul结构图:
在这里插入图片描述

数据库中的数据以及编写的实体
在这里插入图片描述

在这里插入图片描述

mybatis与spring实现的不同

使用spring实现的方式一
1、连接数据库方面:
用mybatis时链接数据库(在mybatis-config.xml中配置)
在这里插入图片描述
使用spring后(在spring-dao.xml中配置,名字任意取的)
在这里插入图片描述
实现此操作需要导入相关的依赖
在这里插入图片描述
2、sqlsessionFactory
在mybatis中(写在工具类或者直接写)
直接写的:
在这里插入图片描述

在spring里(写在配置文件中):
在这里插入图片描述

Sqlsession

在mybats中
在这里插入图片描述

在spring

在这里插入图片描述

编写(CRUD)方法

在mybatis里是通过xml文件
在这里插入图片描述
且将该文件注册到mybatis-config.xml里
在这里插入图片描述

而在spring里,则是另外写一个实现类(UserMapperImpl):
在这里插入图片描述
要将该实现类注册到spring-dao.xml里(且将之前创建的sqlSessionTemplate的bean注入):

在这里插入图片描述注意这里的实现类要写set方法,否则会注入失败

执行上(测试类)

在mybatis中是getMapper(xml文件),而在spring里则是getBean(实现类class文件)。

在mybatis中
在这里插入图片描述
在spring里
在这里插入图片描述
注意:若使用spring方法,记得把之前使用mybatis方法时在mybatis-config里的userMapper的注册注销掉/删掉,否则会报错
在这里插入图片描述

配置文件分离

将sqlsessionFactory及sqlsession等代码与注册mapper等代码分离
在这里插入图片描述

使用spring实现的方式二
使用spring自带的getSession
在这里插入图片描述
在这里插入图片描述
由代码可以看到,方式一中获得sqlsession的方式在继承的方法里写了。且xml里注入的不是sqlsession,而是sqlsessionFactory(方式一里的sqlsessionFactory注入到sqlsession里,再将sqlsession注入到xml里的set方法)。

结果

在这里插入图片描述

其他

导入的依赖

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.2</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.47</version>
    </dependency>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.1.10.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.1.10.RELEASE</version>
    </dependency>


    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.9.4</version>
    </dependency>

    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.2</version>
    </dependency>
</dependencies>

以及过滤

<build>
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值