目录
Mybatisplus
是基于Mybatis框架基础上开发的增强型工具,旨在简化开发、提高效率
依赖:
接口继承BaseMapper<实体类名>
标准数据层CRUD功能
分页查询:
1.先定义一个 分页查询配置类(mybatisiplus拦截器)
2.分页查询:
条件查询方式
MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合
条件查询--null值处理
1.年龄上限:
2.
查询投影
分组统计和总记录数
查询条件设定
范围查询:
模糊匹配:
lt 不带等号 le带等号
更多查询条件设置参看https://mybatis.plus/guide/wrapper.html#abstractwrapper
字段映射与表名映射
1.表字段与编码属性设计不同步
名称: @TableField
类型:属性注解
位置:模型类属性定义上方
作用:设置当前属性对应的数据库表中的字段关系
相关属性
value (默认):设置数据库表字段名称
select:设置属性是否参与查询,此属性与select()映射配置不冲突
exist:设置属性在数据库字段中是否存在,默认为true,此属性无法与value合并使用
@TableName
类注解
设置当前类对应与数据库关系
value:设置数据库名称
Insert
id生成策略控制
- 不同的表应用不同的id生成策略
- 日志:自增(1,2,3,4,.....)
- 购物订单:特殊规则 (FQ23948AK3843)
- 外卖单:关联地区日期等信息 (19 94 20290314 34 91)
- 关系表:可省略id
- .....
全局设置
名称: @TableId
类型:属性注解
位置:模型类中用于表示主键的属性定义上方
作用:设置当前类中主键属性的生成策略
范例:
相关属性
value:设置数据库主键名称
type:设置主键属性的生成策略,值参照IdType枚举值
AUTO(0): 使用数据库id自增策略控制id生成
NONE(1): 不设置id生成策略
INPUT(2): 用户手工输入id
ASSIGN ID(3):雪花算法生成id (可兼容数值型与字符串型)
ASSIGN_UUID(4): 以UUID生成算法作为id生成策略
assign_id
表名的前缀:tablepr
多记录操作(Delete,Select)
逻辑删除(Delete/Update)
删除操作业务问题:业务数据从数据库中丢弃
逻辑删除:为数据设置是否可用状态字段,删除时设置状态字段为不可用状态,数据保留在数据库中
1.数据库中添加逻辑删除标记字段
2. 实体类中添加对应字段,并设定当前字段为逻辑删除标记字段
3. 配置逻辑删除字面值
@test
void testDelete(){
userDao.deleteById(1L);
}
乐观锁(Update)
1.添加锁标记字段数据库
2.实体类加对应字段
3.配置乐观锁拦截器实现锁机制对应的动态SQL语句拼装
代码生成器
数据库相关配置:读取数据库获取信息
开发者自定义配置:手工配置
1.依赖:
2.