1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/donhui-sonar-mybatis

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 4.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 12:51 f004d66

Плагин SonarQube MyBatis

Плагин MyBatis для SonarQube: правила проверки SQL-операторов в файлах Mapper XML MyBatis.

Что такое Risk SQL?

Risk SQL — это ситуация, когда в файле Mapper есть динамический SQL, например, элементы <if test=""></if>. Если все параметры в элементах SQL-оператора файла Mapper XML равны нулю, то SQL может быть сопряжён с большим риском.

Пример:

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 встроенных правил MyBatis: три правила для оператора SELECT, два правила для операторов UPDATE и DELETE.

![mybatis-rules](images/mybatis-rules.png)

## Как установить?
Есть два варианта установки плагина в SonarQube:
* Marketplace — устанавливает плагины автоматически из пользовательского интерфейса SonarQube.
* Ручная установка — этот метод используется, если ваш экземпляр SonarQube не имеет доступа к Интернету.

### Marketplace
Если у вас есть доступ к Интернету и вы подключены к пользователю SonarQube с глобальным разрешением «Администрировать систему», перейдите в раздел «Администрирование» > «Marketplace».
* Найдите плагин с помощью поиска `mybatis`.
* Нажмите «Установить» и дождитесь завершения загрузки.

После завершения загрузки появится кнопка «Перезапустить», чтобы перезапустить экземпляр.

### Ручная установка
Плагин можно загрузить с [github release](https://github.com/donhui/sonar-mybatis/releases/).

Поместите скачанный 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
Для особых проблем с операторами, если вы хотите их игнорировать, вы можете поместить идентификатор оператора с пространством имён в глобальный список исключений идентификатора оператора.

![stmt-id-exclude](images/stmt-id-exclude.png)

## Пропуск датчика MyBatis
Если вы иногда хотите пропустить датчик mybatis, вы можете изменить глобальные свойства `sonar.mybatis.skip` на `true` или добавить параметр в команду: `-Dsonar.mybatis.skip=true`.

## Внести свой вклад
Пожалуйста, сообщайте об ошибках и запросах функций на https://github.com/donhui/sonar-mybatis/issues.

Или вы можете отправлять запросы на вытягивание для исправления ошибок или создания новых функций, любой вклад приветствуется.

# Звёзды за всё время

## История звёзд

[![Star History Chart](https://api.star-history.com/svg?repos=donhui/sonar-mybatis&type=Date)](https://star-history.com/#donhui/sonar-mybatis&Date)

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/donhui-sonar-mybatis.git
git@api.gitlife.ru:oschina-mirror/donhui-sonar-mybatis.git
oschina-mirror
donhui-sonar-mybatis
donhui-sonar-mybatis
master