查询条件
-
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】
-
如果有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中的各种格式的参数,
参考【约定格式】
-
对于更复杂的条件,或者低代码平台、自定义表单等场景中经常需要用到ConfigStore来构造查询条件
参考【ConfigStore】
JDBC操作clickhouse示例
关于分页参数
异构数据源迁移核心部分代码Mysql到Apache Ignite|VoltDB
自定义SQL忽略未赋值部分查询条件
关于ands
根据所有String类型模糊查询
多表关联关系json
关于or与ors
多个ConfigStore合成一个ConfigStore
关于函数操作
OR查询条件
关于自定义SQL中的变量赋值
关于必须条件
关于IN条件
关于or
关于like
SQL中的变量及占位符格式