多个ConfigStore合成一个ConfigStore
最后更新:2024-05-11 05:30:00
|
状态:未完成
在代代码,运行时自定义场景中,经常会调用不同的方法生成多个ConfigStore也就是多组查询条件
但在调用service.querys时只能接收一个ConfigStore
解决方式:
-
生成一个ConfigStore
在合成查询条件时把ConfigStore作为参数输入,通过调用and,or,in等方法把条件添加到ConfigStore中
-
如果确实需要多个ConfigStore,比如遇到多个or,and同时出现的情况,可以把每组条件放到一个ConfigStore里相当于放到一个()内
在最终查询前合成一个
ConfigStore s1 = new DefaultConfigStore(); s1.and("id","11").and("id "," 12"); ConfigStore s2 = new DefaultConfigStore(); s2.and("id","21").and("id "," 22"); ConfigStore s3 = new DefaultConfigStore(); s3.and("id","31").and("id "," 32"); service.querys("CRM_USER", s1.or(s2).and(s3)); 生成最终SQL: SELECT * FROM CRM_USER WHERE( (id = 11 AND id = 12 ) OR (id = 21 AND id = 22) ) AND (id = 31 AND id = 32) 当然也有不需要默认加()的情况可以在调用s1.and(s2, false);//false 表示不需要在前面的所有条件上加()