您好,登录后才能下订单哦!
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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。