MyBatis-Plus 框架中QueryWrapper基本用法

QueryWrapper 是 MyBatis-Plus 框架提供的查询构造器,用于构建查询条件。它属于 MyBatis-Plus 的核心组件之一,简化了数据库操作的代码。

以下是对 QueryWrapper 的一些基本使用说明:

创建 QueryWrapper 对象

QueryWrapper<User> queryWrapper = new QueryWrapper<>();

基本的查询条件

// 等值条件
queryWrapper.eq("username", "admin");

// 不等值条件
queryWrapper.ne("age", 25);

// 大于、小于、大于等于、小于等于条件
queryWrapper.gt("age", 20);
queryWrapper.lt("age", 30);
queryWrapper.ge("age", 20);
queryWrapper.le("age", 30);

 模糊查询

queryWrapper.like("username", "a"); // 模糊查询 username 包含有 "a" 的记录

多条件查询

queryWrapper.and(qw -> qw.eq("username", "admin").ne("age", 25));

排序

queryWrapper.orderByAsc("age"); // 升序
queryWrapper.orderByDesc("age"); // 降序

 嵌套查询

queryWrapper.nested(qw -> qw.eq("age", 25).or().eq("age", 30));

自定义 SQL 片段

queryWrapper.apply("date_format(create_time, '%Y-%m-%d') = '2022-01-01'");

分组查询

queryWrapper.groupBy("gender");

Having 条件

queryWrapper.having("sum(age) > {0}", 20);

其他条件

// 为空判断
queryWrapper.isNull("email");

// 非空判断
queryWrapper.isNotNull("email");

// IN 条件
queryWrapper.in("age", Arrays.asList(25, 30, 35));

// NOT IN 条件
queryWrapper.notIn("age", Arrays.asList(25, 30, 35));

// BETWEEN 条件
queryWrapper.between("age", 20, 30);

// NOT BETWEEN 条件
queryWrapper.notBetween("age", 20, 30);

Lambda 表达式

MyBatis-Plus 还提供了 LambdaQueryWrapper,使用 Lambda 表达式进行类型安全的字段操作。示例:

LambdaQueryWrapper<User> lambdaQuery = Wrappers.lambdaQuery();
lambdaQuery.eq(User::getUsername, "admin").ne(User::getAge, 25);

这只是 QueryWrapper 的一些常见用法,具体的使用还取决于你的实际业务需求。根据具体的查询条件,你可以组合使用不同的方法,构建出灵活、简洁的查询语句。

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值