一、Mybatis-Plus简介
优势(继承Mybatis)
- 无侵入,损耗小,强大的Curd操作
- 支持lambda形式调用,支持多种数据库
- 支持主键自动生成,支持ActiveRecord模式
https://mybatis.plus/
启动时扫描实体->(容器启动时)注入curd方法,如果存在则不注入
core,注解,代码生成器,扩展,springboot启动器
二、简单使用
https://mybatis.plus/guide/quick-start.html
三、BaseMapper
3.1使用方法
public interface UserMapper extends BaseMapper<User> {
}
3.2 实体上常用注解
- 给实体类制定表名
@TableName("table_name")
- 指定主键
@TableId
- 指定对应列
@TableField("字段名")
- 序列主键策略注解
@KeySequence
3.3基类CURD方法
3.3.1 insert
- id自动填充为long型,默认实体类主键叫id,可以通过注解修改
- 默认实体类名(成员属性名)驼峰对应数据库中表名(字段名)下划线
- 排除不保存到数据库的实体类属性
①private transient String remark; //不进行序列化
②private static String remark; //静态变量
③@TableField(exist=false)
指定注解
3.3.2 select
- 三种普通查询
1.根据主键id查询[返回单个]
2.根据主键idList查询[返回List]
3.根据map条件查询[返回List] - 条件构造器查询Wapper
大于 小于 like between exist 排序
调用函数(apply)
子查询(inSql(“列名”,”子查询sql语句”))
limit(last在sql后添加语句)
只列出需要的字段 .select(“id”,”name”)
排除两列
判断空的条件查询
- condition,通过实体查询
- 自定义sql
- 分页查询,Mybatis分页是逻辑分页都查出来取部分,https://mybatis.plus/guide/page.html MP是物理分页
3.3.3 update
3.3.4 delete
四、插件
1. 乐观锁插件
版本号,乐观锁标记注解@Version
添加乐观锁config类插件
2. 逻辑删除插件
3. 公共字段自动填充插件
拦截SQL时自动添加创建时间和修改时间,版本号
![image.png](https://cdn.nlark.com/yuque/0/2020/png/602847/1586176778256-e1eef8ad-e7e9-4955-a3aa-73a79494df4f.png#align=left&display=inline&height=74&margin=%5Bobject%20Object%5D&name=image.png&originHeight=147&originWidth=855&size=108725&status=done&style=none&width=427.5)