MybatisPlus常用条件查询器Wrapper的使用

简介: MybatisPlus常用条件查询器Wrapper的使用

allEq(全部eq)

// 查询名字为Tom,年龄为28,邮箱为空的人
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
Map<String,Object> map = new HashMap<>();
map.put("name","Tom");
map.put("age",28);
map.put("email",null);
queryWrapper.allEq(map);
// 如果第二个参数填写false,则会忽略value值为null的元素,不进行sql拼接
// queryWrapper.allEq(map,false);
userMapper.selectList(queryWrapper).forEach(System.out::println);

eq(=)

// 查询年龄为20
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age",20);
userMapper.selectList(queryWrapper).forEach(System.out::println);

ne(<>)

// 查询年龄不为20
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("age",20);
userMapper.selectList(queryWrapper).forEach(System.out::println);

gt(>)

// 查询年龄大于20
queryWrapper.gt("age",20);

ge(>=)

// 查询年龄大于等于20
queryWrapper.ge("age",20);

lt(<)

// 查询年龄小于20
queryWrapper.lt("age",20);

le(<=)

// 查询年龄小于等于20
queryWrapper.le("age",20);

between

// 查询年龄10到20之间
queryWrapper.between("age",10,20);

notBetween

// 查询年龄不在10到20之间
queryWrapper.notBetween("age",10,20);

like

// 查询名字中有T的(name like '%T%')
queryWrapper.like("name","T");

notLike

// 查询名字中没有有T的(name not like '%T%')
queryWrapper.notLike("name","T");

likeLeft

// 查询名字中最后一位是T的(name like '%T')
queryWrapper.likeLeft("name","T");

likeRight

// 查询名字中第一位是T的(name like 'T%')
queryWrapper.likeRight("name","T");

isNull

// 查询名字为空的
queryWrapper.isNull("name");

isNotNull

// 查询名字不为空的
queryWrapper.isNotNull("name");

in

// 查询年龄在(20,21,22)范围内的
queryWrapper.in("age",20,21,22);

notIn

// 查询年龄不在(20,21,22)范围内的
queryWrapper.notIn("age",20,21,22);

inSql

inSql("age", "1,2,3,4,5,6")--->age in (1,2,3,4,5,6)
// 里面可以是一个sql的形式    
inSql("id", "select id from table where id < 3")--->id in (select id from table where id < 3)

notInSql

notInSql("age", "1,2,3,4,5,6")--->age not in (1,2,3,4,5,6)
// 里面可以是一个sql的形式    
notInSql("id", "select id from table where id < 3")--->id not in (select id from table where id < 3)

groupBy(分组)

groupBy("id", "name")--->group by id,name

orderByAsc(升序)

orderByAsc("id", "name")--->order by id ASC,name ASC

orderByDesc(降序)

orderByDesc("id", "name")--->order by id DESC,name DESC

orderBy(排序)

orderBy(true, true, "id", "name")--->order by id ASC,name ASC


目录
相关文章
|
2月前
|
Java 数据库连接 数据库
mybatis查询数据,返回的对象少了一个字段
mybatis查询数据,返回的对象少了一个字段
176 8
|
20天前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
13 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
4月前
|
SQL
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
条件构造器,MybatisPlus支持各种复杂的where条件,其实就是Wrapper,eq是等于的意思,相当于等于那个数值,ne就是不等于,gt大于的意思,ge大于等于,QueryWrapper是做
|
26天前
|
SQL Java 数据库连接
mybatis如何仅仅查询某个表的几个字段
【10月更文挑战第19天】mybatis如何仅仅查询某个表的几个字段
29 1
|
2月前
|
SQL XML Java
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
6月前
|
SQL
MyBatis-Plus-Join关联查询
MyBatis-Plus-Join关联查询
293 2
|
6月前
|
SQL Java 关系型数据库
Mybatis多表关联查询与动态SQL(下)
Mybatis多表关联查询与动态SQL
131 0
|
6月前
|
SQL Java 数据库连接
Mybatis多表关联查询与动态SQL(上)
Mybatis多表关联查询与动态SQL
193 0
|
6月前
|
SQL 缓存 Java
mybatis 一对多查询
mybatis 一对多查询
116 0
|
6月前
|
SQL XML Java
MyBatis-Plus多表关联查询
MyBatis-Plus多表关联查询
612 0