今天项目中有一个SQL的查询语句大概如下方式:
select * from table where xxx = "xxx" and (xx1="xx1" or xx2="xx2")
如果实用Mybatis的Example是很难直接直接拼写成这样子的形式,只能通过拆分成等价的SQL再实用Example拼接
调整下的公式如下:select * from table where (xxx = "xxx" and xx1="xx1") or (xxx = "xxx" and xx2="xx2")
然后实用的在java端的代码如下
CollectDriverExample example=new CollectDriverExample();
example.or().orCarNumLike("%"+searchParam+"%").andUserIdEqualTo(userId);
example.or().orDriverNameLike("%"+searchParam+"%").andUserIdEqualTo(userId);
因为mybatis的Example文件对于这方面的支持也是有限的,所以一些复杂的语句我觉得还是手写比较好,毕竟可读性要好点。