Archery
Archery copied to clipboard
[ 需求 ]支持直接审核MyBatis的XML文件
- 第一阶段 在SQL上线DDL语句时支持提交MyBatis的XML文件,自动解析成SQL语句,和DDL语句一起在工单详情展示,供DBA人肉审核
- 第二阶段 按照审核规则(可依靠soar)自动审核XML解析的语句,给出修改建议,分值低的语句自动驳回。
请问一下,支持直接审核MyBatis的XML文件,这个功能现在有了吗
@kai23333 目前还没有
可参考
请问,如果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的方法就可以实现自动审核
对应分支:https://github.com/hhyo/archery/tree/feature/mybatis
老师好,我想问一下这个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分析模块体验