MyBatis中,注解构建的动态SQL,多Where拼接时中间默认是and,如何修改为or

如题,比如我实现如下拼接

for (Object key : key_values){
                        WHERE("(article.title LIKE '%"+key.toString()+"%' OR article.content LIKE '%"+key.toString()+"%')");
                    }

SQL 输出如下 中间链接为AND

SELECT user.nickname,user.userIcon,article.*
FROM article,user
WHERE (user.openID = article.openID) 
AND ((article.title LIKE '%sql%' OR article.content LIKE '%sql%') AND (article.title LIKE '%啊%' OR article.content LIKE '%啊%'))

而我想要的是如下结果,中间链接为OR

SELECT user.nickname,user.userIcon,article.*
FROM article,user
WHERE (user.openID = article.openID) 
AND ((article.title LIKE '%sql%' OR article.content LIKE '%sql%') OR (article.title LIKE '%啊%' OR article.content LIKE '%啊%'))
阅读 3.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进