=1", "++NAME:"+name, "TYPE_ID > 100 AN"/>

查询条件

最后更新:2024-03-19 10:43:44 | 状态:未完成
查询条件有在3种场合会出现,最终都为service.querys提供参数


  1. querys()参数,也是一开始测试常用的,但不能生成复杂的条件
    String name = getName();
    service.querys("CRM_USER", "ID:1", "CODE:%2%","AGE:>=1", "++NAME:"+name, "TYPE_ID > 100 AND TYPE_ID < 200")
    这里的参数可以写原生SQL,也可以column:value的格式分开
    不同的是以:分隔的会生成占位符,如果是变量的话尽量这样生成,避免SQL注入
    ++表示这个条件必须有值,如果没有值整个SQL就不执行了
    参考【query

  2. 如果有web环境,经常通过request来直接构造查询条件,这样就不需要反复的取值、判断、赋值了
    如果继承自AnylineController可以调用condition()方法返回一个ConfigStore
    service.querys("CRM_USER", condition("ID:id"))
    ID:id的意思是先从request中取出参数id的值 再与列ID合成查询条件:WHERE ID = ?(1)
    一定注意与上一场景不同的是这里的id是一个request的变量而不是值
    condition()提供了大量的格式,可以接收url,json中的各种格式的参数,
    参考【约定格式

  3. 对于更复杂的条件,或者低代码平台、自定义表单等场景中经常需要用到ConfigStore来构造查询条件
    参考【ConfigStore


相关分类
最近更新 搜索 提交