Mybatis Plus提升CRUD效率(一)
一、MybatisX 插件
MyBatisX插件是IDEA插件,如果想要使用它,那么首先需要在IDEA中进行安装(Markplace搜索安装即可)。
1、插件用途:接口与 mapper.xml 跳转
安装插件后,在mapper的接口文件中,会出现红色小鸟标识(如下图),点击即可跳转至对应 mapper.xml
文件的映射方法。
同样,在 mapper.xml
文件中也会出现蓝色小鸟标识(如下图),点击即可跳转至对应mapper
接口。
2、插件进阶用途I:代码快速生成
首先,需要在IDEA中配置对应的数据库链接:
找到需要生成代码的表名,右键选择 Mybatis-X
菜单,
接着按以下提示依次填写相应内容,即可在对应目录生成表所对应的 mapper
接口、xml
文件(service
部分建议去掉,实际开发用处不大)。
3、插件进阶用途II:CRUD快速生成
在代码生成的 mapper
接口中,不需要写返回值,只需要依据以下语法写方法名:
select、query、get —— 查找
update —— 更新
delete —— 删除
by 条件
and 连接条件
接着按下 Alt
+ Enter
,选择 Generate Mybatis Sql
,
即可生成对应方法,以及 xml
文件的语句。
4、插件进阶用途III:mybatis-plus 的使用
我们可以结合 mybatis-plus
进一步提高效率,在第二步代码生成的选项中,我们选择了 Mybatis Plus 3
以后,生成的 mapper
接口会继承 BaseMapper
接口,后续在 service
中就能直接调用 mybatis-plus
封装的方法,这其中包括了单表常见的增删改查,针对单表的操作基本可以告别编写 xml
配置。为此,我们还需要引入 mybatis-plus
的依赖,以使 BaseMapper
接口生效:
1 |
|
接下来,就可以在 service
中直接调用 mapper
封装的 CRUD 接口了。当然,在实际应用中仍然要结合具体情况,复杂单表操作仍建议使用 xml
配置,便于维护。
二、Mybatis Plus
- 此处只大致介绍Mybatis Plus,详细应用请移步官方文档
- Mybatis Plus 官方参考文档: MyBatis-Plus (baomidou.com)
1. MP 实体类
使用注解将实体类 T entity与Mybatis Plus(下称MP)封装好的接口配合使用,这里以一个基础实体类 BaseDO
举例:
1 |
|
@TableName
- 描述:表名注解,标识实体类对应的表
- 使用位置:实体类
- 多数据库需指定库名
@TableId
- 描述:主键注解
- 使用位置:实体类主键字段
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | “” | 主键字段名 |
type | Enum | 否 | IdType.NONE | 指定主键类型 |
IdType
值 | 描述 |
---|---|
AUTO | 数据库 ID 自增 |
NONE | 无状态,该类型为未设置主键类型(注解里等于跟随全局,全局里约等于 INPUT) |
INPUT | insert 前自行 set 主键值 |
@TableField
- 描述:字段注解(非主键)
属性 | 类型 | 必须指定 | 默认值 | 描述 |
---|---|---|---|---|
value | String | 否 | “” | 数据库字段名 |
exist | boolean | 否 | true | 是否为数据库表字段 |
condition | String | 否 | “” | 字段where 实体查询比较条件,有值设置则按设置的值为准,没有则为默认全局的 `%s=# |