SonarQube MyBatis Plugin 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
SonarQube MyBatis Plugin 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
SonarQube MyBatis Plugin 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
SonarQube MyBatis Plugin 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
SonarQube MyBatis Plugin 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 其他
开发厂商
地区 国产
提 交 者 donghui2020
适用人群 未知
收录时间 2019-08-08

软件简介

SonarQube MyBatis 插件

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

什么是风险 SQL?

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

示例如下:

DELETE FROM table_name
WHERE 1=1
<if test="startTime != null">
    AND start_time <![CDATA[=]]> #{startTime}
</if>
<if test="endTime != null">
    AND end_time <![CDATA[=]]> #{endTime}
</if>

MyBatis 规则

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

mybatis-rules

如何安装?

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

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

应用市场(Marketplace)

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

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

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

手动安装

该插件可以从 github release 下载。

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

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

如何使用?

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

mvn clean compile -U -Dmaven.test.skip=true -Dmaven.javadoc.skip=true sonar:sonar -Dsonar.host.url=http://127.0.0.1:9000/ -Dsonar.projectKey=demo -Dsonar.projectName=demo -Dsonar.sourceEncoding=UTF-8 -Dsonar.sources=. -Dsonar.inclusions=src/main/** -Dsonar.exclusions==src/main/webapp/**

要想分析 mybatis mapper 文件, src/main/resources 目录必须在 sonar.sources 中。

支持全局 Stmt ID 排除列表

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

stmt-id-exclude

跳过 MyBatis 扫描

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

贡献

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

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
发表了资讯
2019/11/11 09:09

SonarQube MyBatis 插件 1.0.6 发布,性能优化

SonarQube MyBatis 插件 1.0.6 发布,性能优化 MyBatis SonarQube Plugin :自定义规则用于检查 Mybatis Mapper XML 文件中的风险 SQL。 本次更新内容: 性能优化:减少打开文件次数 去掉无用的 hooks sonar.apiVersion 升级到7.9 更多关于 SonarQube MyBatis 插件的详细信息,详见:SonarQube MyBatis Plugin...

3
7
发表了资讯
2019/09/29 09:25

SonarQube MyBatis 插件 1.0.5 发布,Bug 修复

SonarQube MyBatis 插件 1.0.5 发布,Bug 修复 MyBatis SonarQube Plugin :自定义规则用于检查 Mybatis Mapper XML 文件中的风险 SQL。 本次更新内容: Bug 修复:生成 reduced.xml 时,对 typeHandler,javaType,jdbcType,parameterMap,cache,cache-ref 进行处理 更新 MyBatis 版本到 3.5.2 更多关于 SonarQube MyBati...

1
6
发表了资讯
2019/09/04 09:20

SonarQube MyBatis 插件 1.0.4 发布,修复了 Windows 下空指针异常

SonarQube MyBatis 插件 1.0.4 发布,修复了 Windows 下空指针异常 MyBatis SonarQube Plugin :自定义规则用于检查 Mybatis Mapper XML 文件中的风险 SQL。 本次更新内容: 修复了 Windows 下空指针异常 新增规则用于检查 select * 更多关于 SonarQube MyBatis 插件的详细信息,详见:SonarQube MyBatis Plugin...

2
5
发表了资讯
2019/08/30 10:06

SonarQube MyBatis 插件 1.0.3 发布,缩短了分析时间

SonarQube MyBatis 插件 1.0.3 发布,缩短了分析时间 MyBatis SonarQube Plugin :自定义规则用于检查 Mybatis Mapper XML 文件中的风险 SQL。 本次更新内容: 解决了几个 sonar issues 解析 MyBatis Mapper XML 文件时,不校验 dtd,缩短了分析时间 更多关于 SonarQube MyBatis 插件的详细信息,详见:SonarQube MyBat...

0
8
发表了资讯
2019/08/22 09:29

SonarQube MyBatis 插件 1.0.2 发布,新增跳过扫描参数

MyBatis SonarQube Plugin :自定义规则用于检查 Mybatis Mapper XML 文件中的风险 SQL。 本次更新内容: 新增 sonar.mybatis.skip 参数用于跳过 mybatis 扫描 如果有时候想要跳过 MyBatis 扫描,你可以修改全局属性 sonar.mybatis.skip 为 true 或者在命令行中添加参数: -Dsonar.mybatis.skip=true 。 更多关于 SonarQ...

2
9
发表了资讯
2019/08/14 17:33

SonarQube MyBatis 插件 1.0.1 发布,更新规则描述

MyBatis SonarQube Plugin :自定义规则用于检查 Mybatis Mapper XML 文件中的风险 SQL。 本次更新内容: 更新规则描述 更新 README,增加插件安装指南 推送到 SonarQube 应用市场,可以通过应用市场安装 更多关于 SonarQube MyBatis 插件的详细信息,详见:SonarQube MyBatis Plugin...

0
19
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2020/06/16 12:42

Sonar-scanner and Sonar-runner

第一种分析方式 下载地址 下载地址:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip 安装sonar-scanner unzip sonar-scanner-cli-4.2.0.1873-linux.zip 修改配置文件 vi sonar-scanner.properties #----- Default SonarQube server sonar.host.url=http://lo...

0
0
发表了博客
2016/08/17 16:10

sonar

本地sonar环境搭建 相关的程序 jdk maven sonar-qube mysql ### sonar配置 #### 配置数据源 sonar的配置文件在sonarqube-5.6/conf/sonar.properties文件中。 主要配置(使用默认配置): sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&character...

0
0
发表了博客
2018/01/24 17:07

sonar Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar

背景: 今天在项目根目录执行maven sonar:sonar ,报错信息如下,然后就各种的搜,折腾了多半天天也没找出解决办法,最后打算放弃时,看到一遍文章说是mysql max_allowed_packet 的问题 Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.4.0.905:sonar (default-cli) on project air_order_m...

0
0
发表于AI & 大数据专区
2018/09/18 20:14

Sonar安装

1. JDK1.8安装 安装jdk1.8这里省略。 2. SonarQube 部署 su - jenkins #为了在jenkins中集成sonar,所以安装在jenkins用户下 cd /data/jenkins wget https://sonarsource.bintray.com/Distribution/sonarqube/s......

0
1
2018/05/04 22:34

安装Sonar

Sonar代码质量分析

0
1
发表了博客
2018/10/15 17:22

sonar常见

sonar在linux上安装好之后,若之后又更改了sonar的配置,则需要重启服务,重启方法如下: 1.进入到sonar的安装目录下,打开bin目录,会看到所有操作系统的文件夹 2.若操作系统为linux的64系统,则打开linux-x86-64文件夹,会看到sonar.sh文件 3.可使用如下命令 #./sonar.sh start 启动服务 #./sonar.sh stop 停止服务 #....

0
0
发表于AI & 大数据专区
2015/05/19 15:53

sonar安装

从http://www.sonarqube.org/downloads/下载安装文件 本文安装在centos下。 1、解压sonarqube-5.1.zip,上传到服务器中。 2、修改执行权限 # 进入运行目录 cd /usr/local/sonarqube-5.1/bin/linux-x86-64/ # 修改权限 chmod +x /usr/local/sonarqube-5.1/bin/linux-x86-64/sonar.sh chmod +x /usr/local/sonarqub...

0
1
发表于数据库专区
2012/04/09 22:17

sonar安装

本地环境:ubuntu11.4,tomcat 6.0,mysql 按照官方文档,sonar有4种安装方式,我在这边介绍怎么安装。 首先下载最新版的sonar,下载地址:http://www.sonarsource.org/downloads/ 下载完成之后,要注意一个问题,官方的说明是不要安装在以数字开头的目录中。所以我们就不要解压在数字开头的目录中。 由于sonar的安装需要数...

1
8
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
10 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部