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对象构造它?
MyExample example = new MyExample();
MyExample.Criteria criteria = example.createCriteria();
答案 0 :(得分:0)
使用较早的生成器运行时,这种类型的查询并不容易。您需要对查询有所不同才能使其工作。例如,使用布尔代数,您可以说...
(a | b | c) & d & e
在功能上等同于
(a & d & e) | (b & d & e) | (c & d & e)
在旧的运行时中可以写出第二种形式的条件,但这确实很丑。
我建议您更改为使用更新的MyBatis3DynamicSQL运行时来生成代码。使用新的运行时,您可以完全按照自己的意愿编写where子句。有关新运行时的更多信息,请参见以下页面: