使用mybatis-plus的条件构造器

MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。以下是一些常用的条件构造器及其使用方法:

  1. QueryWrapper:用于构建查询条件,支持基本的等于、不等于、大于、小于等各种常见操作。它允许以链式调用的方式添加多个查询条件,并且可以组合使用 andor 逻辑。

  2. UpdateWrapper:用于构造更新条件,可以在更新数据时指定条件。与 QueryWrapper 类似,它也支持链式调用和逻辑组合。

  3. LambdaQueryWrapper:这是一个基于 Lambda 表达式的查询条件构造器,它通过 Lambda 表达式来引用实体类的属性,从而避免了硬编码字段名。这种方式提高了代码的可读性和可维护性。

  4. LambdaUpdateWrapper:类似于 LambdaQueryWrapper,LambdaUpdateWrapper 是基于 Lambda 表达式的更新条件构造器。它允许使用 Lambda 表达式来指定更新字段和条件,同样避免了硬编码字段名的问题。

以下是一些基本的使用方法:

  • eq:设置指定字段的相等条件。

    queryWrapper.eq("name", "老王");
    lambdaQueryWrapper.eq(User::getName, "老王");
    

    生成的 SQL:SELECT * FROM user WHERE name = '老王'

  • ne:设置指定字段的不相等条件。

    queryWrapper.ne("name", "老王");
    lambdaQueryWrapper.ne(User::getName, "老王");
    

    生成的 SQL:SELECT * FROM user WHERE name <> '老王'

  • gt:设置指定字段的大于条件。

    queryWrapper.gt("age", 18);
    lambdaQueryWrapper.gt(User::getAge, 18);
    

    生成的 SQL:SELECT * FROM user WHERE age > 18

  • ge:设置指定字段的大于等于条件。

    queryWrapper.ge("age", 18);
    lambdaQueryWrapper.ge(User::getAge, 18);
    

    生成的 SQL:SELECT * FROM user WHERE age >= 18

  • lt:设置指定字段的小于条件。

    queryWrapper.lt("age", 18);
    lambdaQueryWrapper.lt(User::getAge, 18);
    

    生成的 SQL:SELECT * FROM user WHERE age < 18

  • le:设置指定字段的小于等于条件。

    queryWrapper.le("age", 18);
    lambdaQueryWrapper.le(User::getAge, 18);
    

    生成的 SQL:SELECT * FROM user WHERE age <= 18

  • between:设置字段的 BETWEEN 条件。

    queryWrapper.between("age", 18, 30);
    lambdaQueryWrapper.between(User::getAge, 18, 30);
    

    生成的 SQL:SELECT * FROM user WHERE age BETWEEN 18 AND 30

  • notBetween:设置字段的 NOT BETWEEN 条件。

    queryWrapper.notBetween("age", 18, 30);
    lambdaQueryWrapper.notBetween(User::getAge, 18, 30);
    

    生成的 SQL:SELECT * FROM user WHERE age NOT BETWEEN 18 AND 30

  • like:设置字段的 LIKE 条件。

    queryWrapper.like("name", "王");
    lambdaQueryWrapper.like(User::getName, "王");
    

    生成的 SQL:SELECT * FROM user WHERE name LIKE '%王%'

这些是 MyBatis-Plus 条件构造器的一些基本使用方法,它们可以帮助你构建复杂的查询和更新条件,提高开发效率并减少 SQL 注入的风险。

posted @ 2024-11-29 13:12  墨澜  阅读(69)  评论(0编辑  收藏  举报