mybatisplus中like不区分大小写
时间: 2024-11-02 18:07:30 浏览: 36
MySQL修改配置 区分大小写
在MyBatisPlus中,如果你想进行不区分大小写的LIKE查询,你可以利用其提供的动态SQL功能,特别是`#{}`占位符配合自定义的SQL条件构建。例如,你可以这样做:
```java
// 查询时不区分大小写
String sql = "SELECT * FROM table_name WHERE column_name LIKE #{searchValue} ESCAPE '\\'";
Map<String, Object> params = new HashMap<>();
params.put("searchValue", "%your_search_text%"); // 使用百分号通配符
IPage<User> page = userMapper.selectPage(null, new QueryWrapper<User>().lambda().like(User::getColumnName, params.get("searchValue")));
```
这里,`ESCAPE '\\'`用于指定转义字符,防止通配符被误识别为LIKE操作的结束。然后将用户输入的搜索文本传递给`params`,并在SQL查询中通过`#{}`占位符引用它。
如果你需要在整个数据库层面上设置这样的配置,可以在全局配置文件(如application.properties或application.yml)中设置:
```properties
mybatis-plus.mapper-config.sql-map-param-style=property
```
这会使得所有传入的`#{}`参数都默认转为`?`方式进行处理,即不区分大小写。
阅读全文