Mybatis plus之QueryWrapper
2020-03-26 08:37
1676 查看
wrapper介绍
Wrapper : 条件构造抽象类,最顶端父类
AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
QueryWrapper : Entity 对象封装操作类,不是用lambda语法
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper
查询方式说明
setSqlSelect 设置 SELECT 查询字段 where WHERE 语句,拼接 + WHERE 条件 and AND 语句,拼接 + AND 字段=值 andNew AND 语句,拼接 + AND (字段=值) or OR 语句,拼接 + OR 字段=值 orNew OR 语句,拼接 + OR (字段=值) eq 等于= allEq 基于 map 内容等于= ne 不等于<> gt 大于> ge 大于等于>= lt 小于< le 小于等于<= like 模糊查询 LIKE notLike 模糊查询 NOT LIKE in IN 查询 notIn NOT IN 查询 isNull NULL 值查询 isNotNull IS NOT NULL groupBy 分组 GROUP BY having HAVING 关键词 orderBy 排序 ORDER BY orderAsc ASC 排序 ORDER BY orderDesc DESC 排序 ORDER BY exists EXISTS 条件语句 notExists NOT EXISTS 条件语句 between BETWEEN 条件语句 notBetween NOT BETWEEN 条件语句 addFilter 自由拼接 SQL last 拼接在最后,例如:last(“LIMIT 1”)
举个栗子:
1.ge、gt、le、lt、isNull、isNotNull
@Test public void testDelete() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper .isNull("name") .ge("age", 12) .isNotNull("email"); int result = userMapper.delete(queryWrapper); System.out.println("delete return count = " + result); }
SQL:UPDATE user SET deleted=1 WHERE deleted=0 AND name IS NULL AND age >= ? AND email IS NOT NULL
- eq、ne
注意:seletOne返回的是一条实体记录,当出现多条时会报错
@Test public void testSelectOne() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.eq("name", "Tom"); User user = userMapper.selectOne(queryWrapper); System.out.println(user); }
SELECT id,name,age,email,create_time,update_time,deleted,version FROM user WHERE deleted=0 AND name = ?
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper
- springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper
- springboot + mybatis plus强大的条件构造器queryWrapper、updateWrapper
- SpringBoot | 第九章:Mybatis-plus的集成和使用
- mybatis-plus 代码生成器
- MyBatisPlus入门学习
- Mybatis-plus中数据库表名和表字段名
- SpringBoot集成MyBatisPlus
- MyBatis-Plus简单使用——注解详解(3)
- SpringBoot(十五):SpringBoot整合Mybatis-Plus
- MyBatis-Plus 的代码生成器使用入门
- MybatisPlus 整合 Redis 缓存的CRUD开发脚架
- Mybatis-plus快速入门
- SpringBoot整合系列--整合MyBatis-plus
- SpringBoot整合MyBatis-plus
- Spring Boot + Mybatis-Plus 集成与使用(四)
- MyBatis-Plus—自定义SQL
- 四步教你SpringBoot+Mybatis-plus分页插件(简单实现)
- Mybatis Plus学习(一)代码生成器配置
- Mybatis-plus 之字段自动填充