MyBatis-Plus 去除默认的 `WHERE 1=1` 条件
MyBatis-Plus 默认情况下会在生成的 SQL 语句中添加 WHERE 1=1 条件,这会导致一些不必要的性能消耗。可以使用 <where> 标签来自动去掉多余的 AND 或 OR,示例代码如下:
public List<User> selectUserList(String name, Integer age) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq(StringUtils.isNotBlank(name), 'name', name);
wrapper.eq(age != null, 'age', age);
return userMapper.selectList(wrapper);
}
使用 <where> 标签后,生成的 SQL 语句不再包含 WHERE 1=1,示例代码如下:
SELECT id,name,age,email,create_time,update_time FROM user WHERE name = ? AND age = ?
原文地址: https://www.cveoy.top/t/topic/oaNT 著作权归作者所有。请勿转载和采集!