MybatisPlus QueryWrapper常用方法有哪些

发布时间:2022-04-15 10:15:02 作者:zzz
来源:亿速云 阅读:331

MybatisPlus QueryWrapper常用方法有哪些

MyBatis-Plus 是 MyBatis 的增强工具,提供了许多便捷的功能来简化数据库操作。其中,QueryWrapper 是一个非常常用的类,用于构建查询条件。本文将介绍 QueryWrapper 的常用方法,帮助你更好地使用 MyBatis-Plus 进行数据库查询。

1. 基本查询方法

1.1 eq 方法

eq 方法用于构建等于条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三");
List<User> userList = userMapper.selectList(queryWrapper);

上述代码会生成如下 SQL 语句:

SELECT * FROM user WHERE name = '张三';

1.2 ne 方法

ne 方法用于构建不等于条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("name", "张三");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name <> '张三';

1.3 gt 方法

gt 方法用于构建大于条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 18);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age > 18;

1.4 ge 方法

ge 方法用于构建大于等于条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ge("age", 18);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age >= 18;

1.5 lt 方法

lt 方法用于构建小于条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lt("age", 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age < 30;

1.6 le 方法

le 方法用于构建小于等于条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.le("age", 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age <= 30;

2. 模糊查询方法

2.1 like 方法

like 方法用于构建模糊查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "张");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name LIKE '%张%';

2.2 likeLeft 方法

likeLeft 方法用于构建左模糊查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("name", "张");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name LIKE '%张';

2.3 likeRight 方法

likeRight 方法用于构建右模糊查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("name", "张");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name LIKE '张%';

3. 范围查询方法

3.1 between 方法

between 方法用于构建范围查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.between("age", 18, 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age BETWEEN 18 AND 30;

3.2 notBetween 方法

notBetween 方法用于构建不在某个范围内的查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.notBetween("age", 18, 30);
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age NOT BETWEEN 18 AND 30;

4. 排序方法

4.1 orderByAsc 方法

orderByAsc 方法用于构建升序排序条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user ORDER BY age ASC;

4.2 orderByDesc 方法

orderByDesc 方法用于构建降序排序条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user ORDER BY age DESC;

5. 分组方法

5.1 groupBy 方法

groupBy 方法用于构建分组条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.groupBy("age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user GROUP BY age;

6. 其他常用方法

6.1 select 方法

select 方法用于指定查询的字段。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.select("id", "name", "age");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT id, name, age FROM user;

6.2 in 方法

in 方法用于构建 IN 查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.in("age", Arrays.asList(18, 20, 22));
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age IN (18, 20, 22);

6.3 notIn 方法

notIn 方法用于构建 NOT IN 查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.notIn("age", Arrays.asList(18, 20, 22));
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE age NOT IN (18, 20, 22);

6.4 isNull 方法

isNull 方法用于构建 IS NULL 查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.isNull("name");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name IS NULL;

6.5 isNotNull 方法

isNotNull 方法用于构建 IS NOT NULL 查询条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("name");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name IS NOT NULL;

7. 组合条件

7.1 and 方法

and 方法用于构建 AND 条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三").and(wrapper -> wrapper.gt("age", 18).lt("age", 30));
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name = '张三' AND (age > 18 AND age < 30);

7.2 or 方法

or 方法用于构建 OR 条件。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三").or().eq("name", "李四");
List<User> userList = userMapper.selectList(queryWrapper);

生成的 SQL 语句:

SELECT * FROM user WHERE name = '张三' OR name = '李四';

8. 总结

QueryWrapper 提供了丰富的查询方法,能够满足大多数数据库查询需求。通过灵活组合这些方法,可以轻松构建复杂的查询条件。掌握这些常用方法,将大大提高你在使用 MyBatis-Plus 进行数据库操作时的效率。

推荐阅读:
  1. js常用方法有哪些
  2. ansible常用方法有哪些

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

querywrapper mybatisplus

上一篇:vue怎么实现面包屑

下一篇:php如何反转字符串abcdefg

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》