MyBatis-Plus-条件构造器

本文详细介绍了MyBatis-Plus中的QueryWrapper和UpdateWrapper条件构造器,涵盖基本条件、组合条件、排序、选择字段、嵌套查询及Lambda表达式使用。QueryWrapper用于查询,UpdateWrapper专用于更新操作。
摘要由CSDN通过智能技术生成

条件构造器是一项非常重要的功能,它允许你以一种类型安全的方式构建 SQL 查询条件。条件构造器的主要类是 Wrapper,它有多个实现类,其中最常用的是 QueryWrapper。下面是一些基本的用法:

1. 创建 QueryWrapper 对象

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

2. 基本条件

2.1 等于条件

queryWrapper.eq("column_name", value);

2.2 不等于条件

queryWrapper.ne("column_name", value);

2.3 大于、大于等于、小于、小于等于条件

queryWrapper.gt("column_name", value); queryWrapper.ge("column_name", value); queryWrapper.lt("column_name", value); queryWrapper.le("column_name", value);

2.4 BETWEEN 条件

queryWrapper.between("column_name", value1, value2);

2.5 LIKE 条件

queryWrapper.like("column_name", "value");

3. 组合条件

3.1 AND 条件

queryWrapper.and(qw -> qw.eq("column1", value1).or().eq("column2", value2));

3.2 OR 条件

queryWrapper.or(qw -> qw.eq("column1", value1).ne("column2", value2));

4. 排序

queryWrapper.orderByAsc("column1", "column2"); queryWrapper.orderByDesc("column1", "column2");

5. Select 字段

queryWrapper.select("column1", "column2");

6. 嵌套查询

queryWrapper.nested(qw -> qw.eq("column1", value1).or().eq("column2", value2));

7. 自定义 SQL 片段

queryWrapper.apply("column_name = {0}", value);

8. Lambda 表达式

MyBatis-Plus 还支持使用 Lambda 表达式来构建查询条件,这样可以更加类型安全,避免硬编码字段名。例如:

LambdaQueryWrapper<Entity> lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(Entity::getColumn, value);

以上是 MyBatis-Plus 条件构造器的一些基本用法,你可以根据实际需求灵活运用这些方法来构建复杂的查询条件。

UpdateWrapper

UpdateWrapperQueryWrapper 都是 MyBatis-Plus 中用于构建 SQL 查询或更新条件的条件构造器,但它们主要用于不同的操作。

QueryWrapper

QueryWrapper 主要用于构建查询条件,用于 select 操作。它可以用于:

  1. 设置查询条件(例如,等于、不等于、大于、小于等)。
  2. 设置排序条件。
  3. 设置查询字段。
  4. 设置嵌套查询。
  5. 插入自定义 SQL 片段。
  6. 使用 Lambda 表达式进行类型安全的条件构造。

UpdateWrapper

UpdateWrapper 主要用于构建更新条件,用于 update 操作。它可以用于:

  1. 设置更新条件(例如,等于、不等于、大于、小于等)。
  2. 设置更新字段。
  3. 设置嵌套更新条件。
  4. 插入自定义 SQL 片段。
  5. 使用 Lambda 表达式进行类型安全的条件构造。
  6. 设置自增或自减的更新。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值