Q-Doc

Q旨在为敏捷开发、动态接口、动态SQL、可配置化服务

  1. 接口动态化(已完成)

  2. 动态编译(已完成)

  3. SQL动态化(已完成)

    1. 参数动态化

    2. 参数校验

      1. 不为空、多类型、参数长度、参数格式化等
      2. 防止SQL注入攻击
    3. 支持默认参数

    4. 支持mybatis语法

    5. SQL语法校验(支持mysql、oracle)

    6. 支持存储过程()

  4. 提供接口文档(80%)

    1. 测试方法已经支持需要提供接口(未完成)
  5. 根据模版批量增加配置(已完成)

    1. 测试方法已经支持需要提供接口
  6. 返回结果驼峰、精度处理、结果列自动转JSON(已完成)

    1. 精度默认小数位后2位,可支持配置
    2. 返回结果列格式化、默认值
    3. 查询结果为JSON时自动转为JSON而不是以字符串的形式返回(已完成)
  7. 日志模块化存储(已完成)

    1. 请求日志文件、错误日志文件、执行SQL文件、运行日志文件
  8. 统一异常处理(已完成)

  9. 缓存(已完成)

    1. 查询结果根据每个指标是否配置了缓存,选择缓存
    2. 一键清空缓存
  10. 支持多数据源(已完成)

  11. 配置库与数据所在库分离(已完成)

  12. 配置页面(已完成)

    1. 指标配置
    2. 指标参数配置
    3. 返回值配置
    4. 请求日志
    5. 数据源配置页面
  13. 指标SQL$ 的限制使用(已完成)

    1. 已经添加配置,在某些场景中可关闭,默认打开
  14. 多数据源数据库配置中密码加密存储

  15. 指标缓存可配置化()

  16. 指标请求结果动态分析()

    1. 操作系统、浏览器、版本、请求次数统计,并提供图表形式展示
    2. 指标、调用数统计,并提供图表形式展示
    3. 异常指标统计,并提供图表形式展示
    4. 满足自定义统计需求

期望

  1. 预缓存

    1. 预缓存:程序自主学习,把经常用到的查询条件、接口学习,例如:每天上班前把查询结果预加载到缓存
  2. 动态执行Java、脚本

  3. 支持行云数据库(高版本)

  4. 支持HIVE数据库(JDBC实现)

  5. 配置迁移

接入说明

  1. 首先在数据源配置中配置要接入的数据源,目前支持mysql、oracle两种关系型数据库,保存后可点击测试连接测试连通情况

  2. 批量初始化指标配置:

    1. 在指标配置中点击更多按钮,在弹出框中选择需要批量初始化的数据源,忽略表前缀为在请求uri中不显示该忽略的前缀,例如: 忽略dwa_ 则:dwa_sys_user转换后的uri为:sys/user,否则为:dwa/sysUser

    2. 点击预览指标可预览该数据源下的指标信息,包括:表名、指标名(表备注)、请求uri

    3. 点击增加指标可实现批量增加,

      ⚠️注意: 如果该指标已经存在,则忽略添加; 如果指标名发生变化则会修改。

  3. 指标uri仅支持两级且只能是数字、字母下划线,例如:sm/baps

  4. 指标SQL中如果有小于号,则需要转译&lt;,例如:year < 2020 应写为: year &lt; 2020

  5. 存储过程写法,例如: call query_by_quota_name(<#noparse>#{quotaName}) 转义html后井号与大括号时用井号noparse标签包裹

  6. 配置查询参数时,指标参数配置中的字段英文名为查询参数key(应为非中文),在编写SQL时则添加为<#noparse>#{查询参数key}