关于动态

最后更新:2023-11-15 05:30:14 | 状态:未完成
动态主要是指在运行时才能明确、编码是不明确。可能出现在
  1. 数据源
  2. 数据库类型
  3. 查询的表
  4. 查询列
  5. 分页
  6. 查询条件
    数量:
    同一个接口中根据前端参数,根据组合成不同的查询条件,如
    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)
    值:
最近更新 搜索 提交