首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MyBatis 'or‘标准

MyBatis 'or‘标准
EN

Stack Overflow用户
提问于 2019-10-24 21:11:38
回答 1查看 293关注 0票数 1
代码语言:javascript
复制
select
    *
from person
WHERE (id like '%test%'
   or name like '%test%' 
    or location like '%test%'
 )
 and date >= '2019-10-24 00:00:00'
 and date < '2019-10-26 00:00:00' 

我如何使用Criteria对象来构造它呢?

代码语言:javascript
复制
MyExample example = new MyExample();
MyExample.Criteria criteria = example.createCriteria();
EN

回答 1

Stack Overflow用户

发布于 2019-10-24 21:30:58

对于较旧的生成器运行时,这种类型的查询并不容易。您需要以不同的方式考虑您的查询才能使其正常工作。例如,在布尔代数中,你可以说…

代码语言:javascript
复制
(a | b | c) & d & e

在功能上等同于

代码语言:javascript
复制
(a & d & e) | (b & d & e) | (c & d & e)

使用旧的运行时可以用第二种形式编写where条件,但这真的很难看。

我建议您改用较新的MyBatis3DynamicSQL运行时来生成代码。使用这个新的运行时,您可以完全按照您希望的方式编写where子句。有关新运行时的详细信息,请参阅以下页面:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58542162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档