多个ConfigStore合成一个ConfigStore
最后更新:2025-07-02 23:32:15
|
状态:未完成
在代代码,运行时自定义场景中,经常会调用不同的方法生成多个ConfigStore也就是多组查询条件
但在调用service.querys时只能接收一个ConfigStore
解决方式:
-
生成一个ConfigStore
在合成查询条件时把ConfigStore作为参数输入,通过调用and,or,in等方法把条件添加到ConfigStore中
-
如果确实需要多个ConfigStore,比如遇到多个or,and同时出现的情况,可以把每组条件放到一个ConfigStore里相当于放到一个()内
在最终查询前合成一个
1234567891011121314151617181920212223ConfigStore 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 表示不需要在前面的所有条件上加()