关于动态
最后更新:2024-05-11 05:30:00
|
状态:未完成
动态主要是指在运行时才能明确、编码是不明确。可能出现在
- 数据源
- 数据库类型
- 查询的表
-
查询列
- 分页
-
查询条件
数量:
同一个接口中根据前端参数,根据组合成不同的查询条件,如
service.querys("crm_user", condition("ID:uid", "NAME:%uname%"))
默认情况下,没有提供值的查询条件会被忽略,
如果前端只提供了uid则生成 WHERE ID = ?
如果前端提供了uid和uname则生成 WHERE ID = ? AND NAME LIKE '%?%'
列:
默认情况下会查询所有列SELECT * FROM
实际运行时,不同的前端,不同的用户可能根据权限不同返回不同的数据,或者遇到大文本影响ID性能时需要忽略
可以通过两种方式限制查询列
1.service.querys("crm_user(ID, NAME, CODE AS CD, MAX(AGE) AS MAX_AGE)")
2.ConfigStore configs = new DefaultConfigStore()或configs = condition();
configs.columns("ID", "NAME", ...);
service.querys("crm_user", configs);
比较运算符:
默认情况下可以自动识别, = ,in
但>=, like 等条件需要指定,两种方式来调用比较运算符
比较简单的可以condition("ID:>=id", "NAME:%name%", "TYPES:[type]", "[TYPES]:type")等方式分别设置 >=
连接方式:(and , or , ors)
值: