ToB企服应用市场:ToB评测及商务社交产业平台

标题: MyBatis-Plus条件构造器:构建安全、高效的数据库查询 [打印本页]

作者: 盛世宏图    时间: 2024-11-4 00:46
标题: MyBatis-Plus条件构造器:构建安全、高效的数据库查询
一、关于条件构造器(Wrapper)

1.1 简介

MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。

1.2 发展


1.3 特点

MyBatis-Plus的条件构造用具有以下特点:

1.4 主要类型

MyBatis-Plus 提供了多种条件构造器,以满意不同的查询需求:



二、基本运用

2.1 使用方法

条件构造器允许开发者以链式调用的方式构造SQL的WHERE子句,提供了极大的机动性和便利性。例如,使用QueryWrapper可以这样构建查询条件:
  1. QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  2. queryWrapper.eq("name", "Kimi").lt("age", 30);
复制代码
这将生成SQL:SELECT * FROM user WHERE name = 'Kimi' AND age < 30​。

2.2 示例

QueryWrapper 示例
  1. // 创建 QueryWrapper 对象
  2. QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  3. // 添加查询条件
  4. queryWrapper.eq("name", "张三") // 字段等于某个值
  5.             .gt("age", 18)      // 字段大于某个值
  6.             .like("email", "%@gmail.com"); // 字段包含某个值
  7. // 使用条件进行查询
  8. List<User> users = userMapper.selectList(queryWrapper);
复制代码

UpdateWrapper 示例
  1. // 创建 UpdateWrapper 对象
  2. UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
  3. // 设置更新条件
  4. updateWrapper.eq("id", 1); // 更新 id=1 的记录
  5. // 设置要更新的数据
  6. User user = new User();
  7. user.setName("李四");
  8. user.setAge(20);
  9. // 执行更新操作
  10. int result = userMapper.update(user, updateWrapper);
复制代码

LambdaQueryWrapper 示例
  1. // 创建 LambdaQueryWrapper 对象
  2. LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
  3. // 添加查询条件
  4. lambdaQueryWrapper.eq(User::getName, "张三")
  5.                   .gt(User::getAge, 18)
  6.                   .like(User::getEmail, "%@gmail.com");
  7. // 使用条件进行查询
  8. List<User> users = userMapper.selectList(lambdaQueryWrapper);
复制代码


三、Wrapper 类

3.1 简介

在 MyBatis-Plus 中,Wrapper 类是构建查询和更新条件的核心工具。




3.2 方法

MyBatis-Plus的Wrapper类提供了一系列方法来构建复杂的数据库查询条件。以下是一些常用的Wrapper类方法汇总:

以上方法提供了构建查询和更新条件的机动性和强大功能,使得MyBatis-Plus在数据库操纵方面更加高效和安全。








免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4