[ 需求 ]支持直接审核MyBatis的XML文件
hhyo opened this issue · 13 comments
hhyo commented
- 第一阶段
在SQL上线DDL语句时支持提交MyBatis的XML文件,自动解析成SQL语句,和DDL语句一起在工单详情展示,供DBA人肉审核 - 第二阶段
按照审核规则(可依靠soar)自动审核XML解析的语句,给出修改建议,分值低的语句自动驳回。
kai23333 commented
请问一下,支持直接审核MyBatis的XML文件,这个功能现在有了吗
hhyo commented
kai23333 commented
请问,如果mapper.xml文件里带有if标签的语句也可以拿出来吗,我通过读取mapper.xml,if标签是解析不出来的,这个是可以解析出来吗?
hhyo commented
请问,如果mapper.xml文件里带有if标签的语句也可以拿出来吗,我通过读取mapper.xml,if标签是解析不出来的,这个是可以解析出来吗?
是可以的,动态SQL就只有那几个固定的标签,最初的想法是利用MyBatis内部getBoundSql的方法来生成SQL,但是只实现一部分,过程中发现parameterType是可以在其他地方定义的,XML并不包含所有信息。
hhyo commented
完成XML解析成SQL:https://github.com/hhyo/mybatis-mapper2sql
后续扩展下系统内SOAR的方法就可以实现自动审核
hhyo commented
kai23333 commented
老师好,我想问一下这个parameterType在哪里自己定义,我解析到where后面比如有if标签就没有了(小菜鸡一枚)
hhyo commented
老师好,我想问一下这个parameterType在哪里自己定义,我解析到where后面比如有if标签就没有了(小菜鸡一枚)
参考 https://github.com/hhyo/mybatis-mapper2sql
以及Archery平台的SQL分析模块
kai23333 commented
这里看过了,我用的是java,没大看明白。。。,还是谢谢老师
hhyo commented
按照最初的需求,将xml文件纳入SQL上线的DDL工单中,用作前置审核
saigu commented
您好,请问这里将xml文件转为sql,是带占位符带吗?soar支持带占位符带sql诊断吗?