SonarQube MyBatis Plugin SonarQube MyBatis 插件开源项目

我要开发同款
匿名用户2019年08月08日
223阅读

技术信息

开源地址
https://gitee.com/donhui/sonar-mybatis
授权协议
Apache

作品详情

SoarQubeMyBatis插件

MyBatisSoarQubePlugi:自定义规则用于检查MyBatisMapperXML文件中的风险SQL。

什么是风险SQL?

风险SQL是指在mybatismapper文件中,有一些动态SQL,例如 <iftest=""></if> 元素,如果MapperXML中的SQL语句中的所有参数为ull,那么SQL会有比较大的风险。

示例如下:

DELETEFROMtable_ameWHERE1=1<iftest="startTime!=ull">ANDstart_time<![CDATA[=]]>#{startTime}</if><iftest="edTime!=ull">ANDed_time<![CDATA[=]]>#{edTime}</if>MyBatis规则

有7个内置的规则,select语句有3个规则,update以及delete语句分别有2个规则。

如何安装?

在SoarQube中安装插件有两种选择:

应用市场(Marketplace)-自动从SoarQubeUI安装插件。手动安装-如果您的SoarQube实例无法访问互联网,请将使用此方法。应用市场(Marketplace)

如果您能够访问互联网,并且您的用户具有全局权限“管理系统”的权限,则可以访问"配置>应用市场"。

通过搜索 mybatis 找到该插件点击安装然后等待下载完成

下载完成后,将使用“重启”按钮重新启动SoarQube实例。

手动安装

该插件可以从 githubrelease 下载。

将下载的jar放到 $SONARQUBE_HOME/extesios/plugis 目录,并移除该插件的旧版本。

一旦完成,您将需要重新启动SoarQube服务器。

如何使用?

使用mave构建命令的示例如下:

mvcleacompile-U-Dmave.test.skip=true-Dmave.javadoc.skip=truesoar:soar-Dsoar.host.url=https://127.0.0.1:9000/-Dsoar.projectKey=demo-Dsoar.projectName=demo-Dsoar.sourceEcodig=UTF-8-Dsoar.sources=.-Dsoar.iclusios=src/mai/**-Dsoar.exclusios==src/mai/webapp/**

要想分析mybatismapper文件, src/mai/resources 目录必须在 soar.sources 中。

支持全局StmtID排除列表

对于一些特殊语句的问题,要想忽略它们,可以将附带amespace的statemetid放入全局stmtid排除列表。

跳过MyBatis扫描

如果有时候想要跳过MyBatis扫描,你可以修改全局属性 soar.mybatis.skip 为 true 或者在命令行中添加参数:-Dsoar.mybatis.skip=true 。

贡献

可以在 https://github.com/dohui/soar-mybatis/issues 提交bug和新功能请求。

或者可以提交pullrequests用于修复bug或提交新功能,欢迎任何形式的贡献。

功能介绍

SonarQube MyBatis 插件 MyBatis SonarQube Plugin :自定义规则用于检查 MyBatis Mapper XML 文件中的风险 SQL。 什么是风险 SQL...

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论