mybatisplus使用日记
简介:
是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
常用组成
BaseMapper ,IService ,ServiceImpl
BaseMapper:继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能(封装了crud的基本方法。)
IService :进一步封装稍微复杂的方法如:批量操作,修改或者新增操作
ServiceImpl :IService 的实现。
Wrappers:条件构造类
使用
Wrappers能生成各种增删改查的条件构造对象,大致分类两类
-
Lambda类型
- LambdaQueryWrapper
LambdaQueryWrapper<UserCarBinding> objectLambdaQueryWrapper = Wrappers.lambdaQuery();
objectLambdaQueryWrapper.eq(UserCarBinding::getRegistrationId,“条件值”);
UserCarBinding::getRegistrationId 会自动获取属性名,并按照相应配置进行转换为列名 - LambdaUpdateWrapper
LambdaUpdateWrapper<UserCarBinding> objectLambdaQueryWrapper = Wrappers.lambdaUpdate();
objectLambdaQueryWrapper.set(UserCarBinding::getRegistrationId,“修改值”);
objectLambdaQueryWrapper.eq(UserCarBinding::getRegistrationId,“条件值”);
carBindingWrapper.eq(UserCarBinding::getRegistrationId,registrationId);
- LambdaQueryWrapper
-
普通类型
- QueryWrapper
QueryWrapper<UserCarBinding> objectLambdaQueryWrapper = Wrappers.query();
objectLambdaQueryWrapper.eq(“列名”,“条件值”); - UpdateWrapper
UpdateWrapper<UserCarBinding> objectLambdaQueryWrapper = Wrappers.update();
objectLambdaQueryWrapper.select(“列名”);
objectLambdaQueryWrapper.eq(“列名”,“条件值”);
- QueryWrapper
主要想记录:
LambdaQueryWrapper<SysAttachFile> registrationIdFileWrapper = new LambdaQueryWrapper<>();
registrationIdFileWrapper.and(e -> e.eq(SysAttachFile::getDataId,registrationId).in(SysAttachFile::getFileSubCategory,"1","2","3"))
.or(e -> e.in(SysAttachFile::getDataId,list).in(SysAttachFile::getFileSubCategory,"4","5"));
构造结果:((data_id = ? AND file_sub_category IN (?,?,?)) OR (data_id IN (?) AND file_sub_category IN (?,?)))
大概记录一下:其中的方法
eq 等于
ne 不等于
gt 大于
ge 大于等于
lt 小于
le 小于等于
between 区间 BETWEEN 值1 AND 值2
notBetween 不在区间 NOT BETWEEN 值1 AND 值2
like 模糊匹配 LIKE ‘%值%’
notLike 不在模糊匹配范围内 NOT LIKE ‘%值%’
likeLeft LIKE ‘%值’
likeRight LIKE ‘值%’
allEq 全等于传map key是列 val是值
in 在这其中
notin 不在这其中
isNull 为空
isNotNull 不为空
inSql 注入sql的方式 列如 inSql(“id”, “select id from table where id < 3”)
groupBy 分组
orderBy,orderByAsc,orderByDesc 排序
having 筛选后条件等
func 消费函数
我目前知道的条件筛选方法