Mybatis(四)——Mybatis-plus

一、Mybatis-plus

1、Mybatis-Plus介绍

springmvc整合knife4j_java


springmvc整合knife4j_spring_02

2、特性

springmvc整合knife4j_java_03

3、引入 mybatis-plus

先简单的用 javaSE 导入 mybatis-plus 来使用一下:

springmvc整合knife4j_mybatis-plus_04

导入依赖:

springmvc整合knife4j_springmvc整合knife4j_05


springmvc整合knife4j_mvc_06

然后 model 层 和 对应的 mapper 层:

springmvc整合knife4j_mvc_07

接着就是 java 代码引入 mybatis-plus:

springmvc整合knife4j_mvc_08


那么到此为止,就引入了 mybatis-plus。

4、开始使用 mybatis-plus

首先在 mapper 接口层使用,要使用的类继承自 BaseMapper,继承了这个后可以使用一些常见的增删改查的方法:

springmvc整合knife4j_java_09

a、提供的 insert 方法以及处理表名或字段名不对应的情况

上图中,没有写插入接口,但是因为继承了这个类,这个类里面提供了 CRUD 的方法,所以可以直接使用简单的插入方法:

springmvc整合knife4j_spring_10


但要注意的是,我们平常使用的驼峰命名法,经过 mybatis-plus 的转换,通常会使用下划线 _ 分割,所以需要加一个注解,指定就使用这个字段名,而不是使用默认的下划线分割(比如表名不一致的时候,使用的是 @TableName()):

springmvc整合knife4j_springmvc整合knife4j_11

5、各种查询方案

这个 plus 工具提供了不少查询方案:

springmvc整合knife4j_springmvc整合knife4j_12

a、查询使用一(总记录数,所有数据、指定条件)

springmvc整合knife4j_springmvc整合knife4j_13

b、查询使用二(指定条件、大于、or、and 用法)

springmvc整合knife4j_mvc_14


其他查询方案可自行查阅文档,使用起来差不多。

6、自增长

如果数据库主键没有设置自增长,那么插入数据的时候主键 ID 的序号可能没有按顺序,那么 plus 提供了一个自增长的方法:

springmvc整合knife4j_spring_15

因为数据库可能不是 sql,可能会是 oracle,所以这里的自增长策略不一样,plus 考虑到的各种数据库不一样。

二、SSMP(整合 Spring、MVC、Mybatis-plus)

整合跟 SSM 差不多,细微区别,同样还是先整合 Spring、MVC,检查没问题后再继续 plus 的配置:

前面的博客中有导入 SSM 的教程,这里以 SSM 的基础上,再去配置 plus。

1、导入依赖和配置 mybatis-plus

springmvc整合knife4j_mybatis-plus_16

接着就是 Spring 层的改动(只需要改动 Spring 层,就完成了 plus 的配置):

springmvc整合knife4j_mybatis-plus_17

那么到此为止,plus 的配置就完成了。

2、plus 提供的 service 层的方法

plus 除了提供了 mapper 层的接口方法,还提供了 service 层的接口方法。

Service 层继承 ServiceImpl,然后提供两个泛型。

springmvc整合knife4j_spring_18


然后 controller 层调用这个 service,再调用 service 的提供的一些方法:

springmvc整合knife4j_spring_19


然后网页能成功接收到数据。

当然,如果提供的默认方法不能满足开发者,可以在这个 service 层写自己想要的方法。

3、plus 提供的分页

首先先在 Spring 配置文件那里配置:

springmvc整合knife4j_spring_20


然后测试代码:

springmvc整合knife4j_spring_21