多个ConfigStore合成一个ConfigStore

最后更新:2025-07-02 23:32:15 | 状态:未完成
在代代码,运行时自定义场景中,经常会调用不同的方法生成多个ConfigStore也就是多组查询条件

但在调用service.querys时只能接收一个ConfigStore
解决方式:


  1. 生成一个ConfigStore
    在合成查询条件时把ConfigStore作为参数输入,通过调用and,or,in等方法把条件添加到ConfigStore中
  2. 如果确实需要多个ConfigStore,比如遇到多个or,and同时出现的情况,可以把每组条件放到一个ConfigStore里相当于放到一个()内
    在最终查询前合成一个
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    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 表示不需要在前面的所有条件上加()
首页 最近更新 搜索 提交 回复