您好,登录后才能下订单哦!
MyBatis-Plus 是 MyBatis 的增强工具,提供了许多便捷的功能来简化数据库操作。其中,QueryWrapper 是一个非常常用的类,用于构建查询条件。本文将介绍 QueryWrapper 的常用方法,帮助你更好地使用 MyBatis-Plus 进行数据库查询。
eq 方法eq 方法用于构建等于条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "张三");
List<User> userList = userMapper.selectList(queryWrapper);
上述代码会生成如下 SQL 语句:
SELECT * FROM user WHERE name = '张三';
ne 方法ne 方法用于构建不等于条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("name", "张三");
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE name <> '张三';
gt 方法gt 方法用于构建大于条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 18);
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE age > 18;
ge 方法ge 方法用于构建大于等于条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ge("age", 18);
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE age >= 18;
lt 方法lt 方法用于构建小于条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lt("age", 30);
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE age < 30;
le 方法le 方法用于构建小于等于条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.le("age", 30);
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE age <= 30;
like 方法like 方法用于构建模糊查询条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name", "张");
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE name LIKE '%张%';
likeLeft 方法likeLeft 方法用于构建左模糊查询条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeLeft("name", "张");
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE name LIKE '%张';
likeRight 方法likeRight 方法用于构建右模糊查询条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.likeRight("name", "张");
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user WHERE name LIKE '张%';
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;
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;
orderByAsc 方法orderByAsc 方法用于构建升序排序条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByAsc("age");
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user ORDER BY age ASC;
orderByDesc 方法orderByDesc 方法用于构建降序排序条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.orderByDesc("age");
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user ORDER BY age DESC;
groupBy 方法groupBy 方法用于构建分组条件。
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.groupBy("age");
List<User> userList = userMapper.selectList(queryWrapper);
生成的 SQL 语句:
SELECT * FROM user GROUP BY age;
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;
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);
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);
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;
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;
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);
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 = '李四';
QueryWrapper 提供了丰富的查询方法,能够满足大多数数据库查询需求。通过灵活组合这些方法,可以轻松构建复杂的查询条件。掌握这些常用方法,将大大提高你在使用 MyBatis-Plus 进行数据库操作时的效率。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。