Archery icon indicating copy to clipboard operation
Archery copied to clipboard

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

Open hhyo opened this issue 5 years ago • 13 comments

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

hhyo avatar Nov 05 '18 05:11 hhyo

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

kai23333 avatar Nov 23 '18 02:11 kai23333

@kai23333 目前还没有

hhyo avatar Nov 25 '18 00:11 hhyo

可参考 image

hhyo avatar Nov 28 '18 07:11 hhyo

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

kai23333 avatar Nov 30 '18 01:11 kai23333

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

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

hhyo avatar Nov 30 '18 10:11 hhyo

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

hhyo avatar Jan 27 '19 11:01 hhyo

对应分支:https://github.com/hhyo/archery/tree/feature/mybatis

hhyo avatar Mar 04 '19 14:03 hhyo

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

kai23333 avatar Jul 11 '19 08:07 kai23333

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

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

以及Archery平台的SQL分析模块

hhyo avatar Jul 11 '19 08:07 hhyo

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

kai23333 avatar Jul 11 '19 08:07 kai23333

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

hhyo avatar Jul 28 '19 01:07 hhyo

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

saigu avatar Sep 02 '19 12:09 saigu

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

hhyo avatar Sep 02 '19 12:09 hhyo