mybatis-plus 条件构造器拼接字符串
时间: 2025-02-12 12:19:23 浏览: 92
### MyBatis-Plus 条件构造器实现字符串拼接
MyBatis-Plus 提供了灵活的条件构造器 API,能够满足各种复杂场景下的 SQL 构建需求。对于字符串拼接的操作,可以通过 `Wrapper` 类及其子类来完成。
#### 使用 `like` 方法进行模糊匹配
当需要对字段值进行部分匹配时,可以使用 `like` 或者 `notLike` 方法:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.like("name", "张三");
// 生成SQL语句类似于 WHERE name LIKE '%张三%'
```
此方法会在参数两端自动加上百分号 `%` 实现前后缀匹配[^1]。
#### 自定义 SQL 片段实现精确拼接
如果想要更精细控制字符串连接的方式,则可通过自定义 SQL 表达式达成目的。利用 `apply` 函数可以直接嵌入原生 SQL 语法片段:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.apply("CONCAT(name, {0}) = {1}", "'_suffix'", "'张三_suffix'");
// 对应于 SQL 中 CONCAT(name,'_suffix')='张三_suffix'
```
这种方式允许开发者编写任意复杂的逻辑表达式并将其融入到最终生成的查询语句之中[^2]。
#### 利用内置函数处理特殊字符
有时可能遇到需要转义某些特定符号的情况,这时就可以借助框架内建的支持来进行安全可靠的转换:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
String escapedValue = SqlInjectionUtils.escape("%"); // 转义 % 符号
wrapper.likeRight("content", escapedValue);
// 防止注入攻击的同时实现了右模糊查找
```
上述代码展示了如何调用辅助工具类中的静态方法来确保输入的安全性[^3]。
阅读全文
相关推荐


















