转载

Spring Boot 2.x(四):整合Mybatis的四种方式

前言

目前的大环境下,使用 Mybatis 作为持久层框架还是占了绝大多数的,下面我们来说一下使用 Mybatis 的几种姿势。

姿势一:零配置注解开发

第一步:引入依赖

首先,我们需要在pom文件中添加依赖:

Spring Boot 2.x(四):整合Mybatis的四种方式

Spring Boot 2.x(四):整合Mybatis的四种方式

第二步:配置文件

Spring Boot 2.x(四):整合Mybatis的四种方式

这里我们采用yml来进行编写,与properties文件相比,yml看起来更加简洁优雅,这里需要注意的是 driver-class-name 这个属性我们采用的是 com.mysql.cj.jdbc.Driver 而非之前的 com.mysql.jdbc.Driver ,如果采用之前包下的 Driver ,控制台会打印出一行这样的信息告诉我们去用新的~

Spring Boot 2.x(四):整合Mybatis的四种方式

第三步:指定MapperScan

首先,我们需要在启动类指定 @MapperScan ,这样做就可以不用去挨个的在 Mapper 接口中添加 @Mapper 注解。这里的值就是你的 Mapper 接口所在的包的路径。

Spring Boot 2.x(四):整合Mybatis的四种方式

第四步:编写Mapper接口

Spring Boot 2.x(四):整合Mybatis的四种方式

通过 @Select 注解和 @Results 注解可以指定SQL语句以及返回值。当然,其他的不同的操作也有不同的注解,比如 @Insert@Update@Delete

Spring Boot 2.x(四):整合Mybatis的四种方式

第五步:测试程序编写

Spring Boot 2.x(四):整合Mybatis的四种方式

Spring Boot 2.x(四):整合Mybatis的四种方式

访问 localhost:8081/user/findAll,我们就可以看到测试的结果:

Spring Boot 2.x(四):整合Mybatis的四种方式

姿势二:XML

我们用的最多的是这种方式,下面来看看怎么去实现,第一步与姿势一的重复,这里就不再多做阐述

第一步:编写配置文件

我们需要在配置文件中添加 mybatis-config.xml 的路径以及用于 Mapper*.xml 的文件的路径:

Spring Boot 2.x(四):整合Mybatis的四种方式

第二步:编写Mapper接口以及配置文件:

Mapper接口:

Spring Boot 2.x(四):整合Mybatis的四种方式

mybatis-config.xml:

Spring Boot 2.x(四):整合Mybatis的四种方式

UserMapper.xml:

Spring Boot 2.x(四):整合Mybatis的四种方式

这里需要注意UserMapper.xml中的 namespace 需要与接口的路径一致,否则会出现错误。

测试:

测试的程序与之前的一致,我们直接访问 localhost:8082/user/findAll ,可以看到成功的结果:

Spring Boot 2.x(四):整合Mybatis的四种方式

姿势三:SqlSession

使用SqlSession的姿势和可以与上面两种方式进行结合,emmm。。。可以这么理解,SQL就在那里,只不过分为了两个不同的方法去调用。其余的代码我们就不再多讲,直接来看是如何调用的:

Spring Boot 2.x(四):整合Mybatis的四种方式

可以看到,参数写的是要调用的方法的路径(这里是与 namespace 相对应)。下面我们可以运行一下程序:

Spring Boot 2.x(四):整合Mybatis的四种方式

姿势四:基于SqlSession的升级

这里,我们基于 SqlSession 进行了一次升级,首先我们写了一个 BaseDao ,作为一个公用的接口。接口的实现是通过 sqlSessionTemplate

然后我们将 *Mapper.xmlnamespace 改为 *Mapper 。现在,我们可以直接将所有的 Mapper 接口删除,直接通过 dao 进行调用~

Spring Boot 2.x(四):整合Mybatis的四种方式

Spring Boot 2.x(四):整合Mybatis的四种方式

Spring Boot 2.x(四):整合Mybatis的四种方式

Spring Boot 2.x(四):整合Mybatis的四种方式

然后我们来启动程序后去访问

Spring Boot 2.x(四):整合Mybatis的四种方式

关于 Mybatis 的使用,我们就先讲到这里~

源码可以去 github 或者 码云 上进行下载,后续的例子都会同步更新。

云撸猫

Spring Boot 2.x(四):整合Mybatis的四种方式

公众号

Spring Boot 2.x(四):整合Mybatis的四种方式

原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

原文  https://segmentfault.com/a/1190000019889367
正文到此结束
Loading...