hhyo / Archery

SQL 审核查询平台

Home Page:https://archerydms.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[ 需求 ]支持直接审核MyBatis的XML文件

hhyo opened this issue · comments

  • 第一阶段
    在SQL上线DDL语句时支持提交MyBatis的XML文件,自动解析成SQL语句,和DDL语句一起在工单详情展示,供DBA人肉审核
  • 第二阶段
    按照审核规则(可依靠soar)自动审核XML解析的语句,给出修改建议,分值低的语句自动驳回。

请问一下,支持直接审核MyBatis的XML文件,这个功能现在有了吗

@kai23333 目前还没有

可参考
image

请问,如果mapper.xml文件里带有if标签的语句也可以拿出来吗,我通过读取mapper.xml,if标签是解析不出来的,这个是可以解析出来吗?

请问,如果mapper.xml文件里带有if标签的语句也可以拿出来吗,我通过读取mapper.xml,if标签是解析不出来的,这个是可以解析出来吗?

是可以的,动态SQL就只有那几个固定的标签,最初的想法是利用MyBatis内部getBoundSql的方法来生成SQL,但是只实现一部分,过程中发现parameterType是可以在其他地方定义的,XML并不包含所有信息。

完成XML解析成SQL:https://github.com/hhyo/mybatis-mapper2sql
后续扩展下系统内SOAR的方法就可以实现自动审核

老师好,我想问一下这个parameterType在哪里自己定义,我解析到where后面比如有if标签就没有了(小菜鸡一枚)

老师好,我想问一下这个parameterType在哪里自己定义,我解析到where后面比如有if标签就没有了(小菜鸡一枚)

参考 https://github.com/hhyo/mybatis-mapper2sql

以及Archery平台的SQL分析模块

这里看过了,我用的是java,没大看明白。。。,还是谢谢老师

按照最初的需求,将xml文件纳入SQL上线的DDL工单中,用作前置审核

您好,请问这里将xml文件转为sql,是带占位符带吗?soar支持带占位符带sql诊断吗?

@saigu 带占位符,soar也支持,具体可以访问demo站点的SQL分析模块体验