首页 > 作文

spring集成mybatis原理(spring和mybatis整合步骤)

更新时间:2023-04-05 05:32:31 阅读: 评论:0

《第一个mybatis应用:spring boot整合mybatis框架》文章中,sqlssionfactory仍然是由mybatis来构建的,通过sqlssionfactory创建sqlssion,然后通过sqlssion来进行增删查改操作,并没有由spring容器托管。

实际上,在spring boot中使用mybatis本质就是在spring框架中集成mybatis,并没有其他任何高级的东西。只不过在spring boot中使用时因为插件封装的关系使得相关的配置可以更简洁一些,但是这种封装对于不熟悉mybatis的人来讲反而增加了理解的难度。

因此,本文将把如何在spring boot中使用mybatis进行详细介绍,希望对你有帮助。

spraoeing cloud alibaba微服务实战技术专栏,从项目实践出发,包括spring cloud alibaba、nacos、gateway、ntinel、log日志、分布式全局唯一id、ddd领域驱动设计等等技术内容,可帮助你对spring cloud 微服务技术栈有更加全面和直观的了解。相信你通过本专栏的练习和实践,能够学以致用,提升微服务应用的开发能力。

一、创建maven示例项目

创建maven示例项目mybatis-cond,如图所示:

然后,在pom.xml文件中添加依赖项:

<dependencies>

<dependency>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-web</artifactid>

</dependency>

<dependency>

<groupid>org.mybatis.spring.boot</groupid>

<artifactid>mybatis-spring-boot-starter</artifactid>

<version>2.1.4</version>

</dependency>

<dependency>

<groupid>mysql</groupid>

<artifactid>mysql-connector-java</artifactid>

</dependency>

<dependency>

<groupid>org.springframework.boot</groupid>

<artifactid>spring-boot-starter-test</artifactid>

<scope>test</scope>

</dependency>

</dependencies>

二、配置数据源

通过与 spring boot的整合,sqlssionfactory 交由 spring 来构建。构建时需要在spring的配置文件中添加数据库连接的四大属性来配置数据源。

在 spring boot的application.yml配置文件中添加如下配置。

# 配置数据源

spring:

datasource:

url: jdbc:mysql://localhost:3306/mybatis?characterencoding=utf8&rvertimezone=gmt%2b8&ussl=fal

driver-class-name: com.mysql.cj.jdbc.driver

urname: root

password: xxx

# 整合mybatis

mybatis:

mapper-locations: classpath:mapper/*.xml

从上述 mybatis的运行时参数中可以看到,可以通过参数mybatis.mapper-locations指定xml映射器所在位置

xml映射器文件urmapper.xml和上一章中的urmapper.xml是一样的,可以从上一篇文章中获取。

三、集成mybatis-spring-boot-starter插件

通过插件
mybatis-spring-boot-starter在spring boot中集成mybatis时,可以不用再去关心原生配置方式里的细节,直接使用默认配置就能实现最基本的功能。当然,同样可以针对mybatis的核心组件进行定制。

前面已经在项目的pom文件中添加了插件
mybatis-spring-boot-starter的依赖配置。

默认情况下,插件
mybatis-spring-boot-starter将进行如下配置:

自动检查spring boot的数据源配置并构建datasource对象通过sqlssionfactorybean使用数据源构建并注册sqlssionfactory对象从sqlssionfactory中创建并注册一个sqlssiontemplate实例,其实就是构建一个sqlssion对象自动扫描接口映射器,并将这些映射器与sqlssiontemplate实例进行关联,同时将它们注册到spring容器中

这些在spring boot中通过插件
mybatis-spring-boot-starter自动完成了。

既然mybatis的配置已经完成了,那么下一步的工作就是如何编写和使用接口映射器。

四、定义接口映射器

在示例项目中,定义接口映射器urmapper,代码如下所示:

public interface urmapper {

myur lecturbyid(int id);

list<myur> lectallur();

void addur(myur myur);

void updateur(myur myur);

void deleteur(int id);

}

插件
mybatis-spring-boot-starter会自动搜索使用了注解@mapper的接口映射器并将其注册到spring容器中,也可以在spring boot启动类上@mapperscan注解,示例项目采用这种方式。

五、使用接口映射器

我们在示例项目中创建了一个测试类urmappertes请假攻略t,在该类中直接注入接口映射器bean进行使用。

测试类urmappertest 代码如下所示:

@springboottest

public class urmappertest {

@autowired

private urmapper urmapper;

@test

void lecturbyid() {

myur myur = urmapper.lecturbyid(5);

system.out.println(myur);

}

@test

void lectallur() {

list<myur> listur = urmapper.lectallur();

for (myur myur:listur) {

system.out.println(myur);

}

}

@test

void addur() {

myur myur = new myur();

奇偶函数

myur.tuname(“spring cloud”);

myur.tux(“男”);

urmapper.addur(myur);

}

@test

void updateur() {

myur myur = new myur();

myur.tuid(5);

myur.tuname(“mybatis”);

myur.tux(“男”);

u白城医高专rmapper.updateur(myur);

}

@test

void deleteur() {

urmapper.deleteur(6);

}

}

运行单元测试,验证输出结果,如图所示:

至此可以看到,在spring boot中通过插件
mybatis-spring-boot-starter集成mybatis时非常方便,只需要添加基本的数据源配置就可以使用了。

六、定制mybatis运行时参数

在spring boot中对mybatis进行定制主要是指在spring boot的配置文件中(如:application.yaml)对mybatis运行参数进行自定义配置(使用mybatis作为配置参数前缀):

mybatis:

check-config-location: true # 是否检测mybatis运行参数配置文件

config-location:
classpath:/mybatis-config.xml # 指定mybatis运行参数配置文件位置

mapper-locations: classpath:/mapper/**/*.xml # 注册xml映射器

type-alias-package: test.springboot.model # 配置java类型包名

type-handlers-package: test.springboot.handlers # 配置类型处理器包名

executor-type: simple # 指定执行器类型

configur青春期健康教育ation:

default-fetch-size: 20

default-statement-timeout: 30

上述配置参数最终是通过
mybatis-spring-boot-autoconfigure.jar加载和配置的。

另外,上述配置参数只是一个配置示例,详细的配置参数列表请参考mybatis配置官网:
http://www.mybatis.org/mybatis-3/zh/configuration.html。

总结起来,在spring boot中使用mybatis可以使用2种方式:

(1)使用在spring框架中集成mybatis的原生集成方式

(2)使用插件
mybatis-spring-boot-starter集成mybatis

上述两种方式都可以实现对mybatis的定制化配置,可以根据个人喜好进行选择。无论如何,要想在spring boot中灵活使用好mybatis,最基础的还是mybatis和spring框架本身。

本文发布于:2023-04-05 05:32:28,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/dd5099b8a29f6522c7439d5c90a9082f.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:spring集成mybatis原理(spring和mybatis整合步骤).doc

本文 PDF 下载地址:spring集成mybatis原理(spring和mybatis整合步骤).pdf

上一篇:压缩气体泄漏
下一篇:返回列表
标签:参数   插件   数据源   映射器
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图