//QueryWrapper添加括号嵌套查询
QueryWrapper<SysDictionaries> condition = new QueryWrapper<SysDictionaries>();
condition.isNull("pid");
if(!StringUtil.isEmpty(keyword)) {
condition.and(
QueryWrapper -> QueryWrapper.like("dic_key", keyword)
.or().like("dic_cn_value", keyword)
.or().like("dic_en_value", keyword)
);
}
-------结果SQL:
SELECT id,pid,dic_key,dic_cn_value,dic_en_value,create_date,update_date,status,is_del
FROM sys_dictionaries
WHERE (is_del = ? AND pid IS NULL
AND (dic_key LIKE ? OR dic_cn_value LIKE ? OR dic_en_value LIKE ?)
)
ORDER BY create_date DESC LIMIT ?