Сборник плагинов для mybatis-generator, используемых в различных проектах. Для удобства использования все плагины загружаются в центральный Maven-репозиторий. В случае использования чужих плагинов обязательно указывается авторство. Если использование какого-либо плагина является незаконным или вызывает возражение, сообщите об этом по адресу электронной почты: tryer@vip.qq.com
Изначально этот проект был создан для решения проблемы с трудностями при использовании плагинов, поэтому здесь собраны многие полезные плагины. Версия проекта — 0.0.1.
<dependency>
<groupId>com.trytotry</groupId>
<artifactId>mybatis-generator-xplugin</artifactId>
<version>0.0.1</version>
</dependency>
При создании XML-файлов по умолчанию методы будут добавлены, а не перезаписаны. Этот плагин позволяет решить эту проблему, спасибо автору!
Авторский сайт: https://my.oschina.net/u/137785/blog/736372
Добавление плагина:
<plugin type="com.trytotry.mybatis.generator.plugin.OverIsMergeablePlugin"/>
Этот плагин генерирует методы selectByXXX
, что делает поиск более удобным.
Добавление плагина:
<plugin type="com.trytotry.mybatis.generator.plugin.SelectByColumnPlugin"/>
Конфигурация:
<table tableName="test">
<property name="selectBy" value="name"/>
</table>
Тогда в TestMapper
будет создан метод:
List<Test> selectByName(String name);
Этот плагин создаёт переопределённые методы equals()
в моделях, что помогает сравнивать объекты.
Добавление плагина:```xml
Конфигурация:
```xml
<table tableName="test">
<property name="equalsValue" value="id,name"/>
</table>
Тогда метод equals()
будет проверять равенство полей id
и name
.
Генерирует методы upsert()
.
Авторский сайт: https://github.com/beihaifeiwu/dolphin
Добавление плагина (сохранение оригинального имени пакета):
<plugin type="com.freetmp.mbg.plugin.upsert.MySqlUpsertPlugin"/>
Пример использования:
Test test = new Test().setId(2).setName("123").setPrice(123d);
mapper.upsert(test);
Сгенерированный SQL запрос:
INSERT INTO test (id, NAME, price)
VALUES (2, '123', 123)
ON DUPLICATE KEY
UPDATE id = 1,
NAME = '123',
price = 123
Добавляет методы min()
и max()
в маппер.
Авторский сайт: https://github.com/oceanc/mybatis3-generator-plugins
Добавление плагина (сохранение оригинального имени пакета):
<plugin type="com.github.oceanc.mybatis3.generator.plugin.MinMaxPlugin"/>
Плагин MinMaxPlugin
<plugin type="org.mybatis.generator.plugins.MinMaxPlugin"/>
config
Для конфигурации плагина используется следующий XML:
<table tableName="test">
<property name="minColumns" value="id,price"/>
<property name="maxColumns" value="id,price"/>
</table>
На основе указанной конфигурации будет сгенерирован следующий Java код:
mapper.maxIdByExample(example);
mapper.minIdByExample(example);
mapper.maxPriceByExample(example);
mapper.minPriceByExample(example);
Сумматорный плагин SumSelectivePlugin
https://github.com/oceanc/mybatis3-generator-plugins
<plugin type="com.github.oceanc.mybatis3.generator.plugin.SumSelectivePlugin"/>
<plugin type="com.github.oceanc.mybatis3.generator.plugin.WhereSqlTextPlugin"/>
<plugin type="xyz.vsl.mybatis.generator.pluginsplus.ModelSettersChainPlugin"/>
```### Генерируемый Java код
На основе использования этого плагина будет сгенерирован следующий Java код:
```java
example.sumPrice(); // Обратите внимание, что требуется добавить поле для суммы
mapper.sumByExample(example);
Плагин для создания пользовательских SQL запросов
https://github.com/oceanc/mybatis3-generator-plugins
<plugin type="com.github.oceanc.mybatis3.generator.plugin.WhereSqlTextPlugin"/>
<plugin type="xyz.vsl.mybatis.generator.pluginsplus.ModelSettersChainPlugin"/>
На основе использования этого плагина можно создать пользовательские SQL запросы в методе addConditionSql
:
example.createCriteria().andIdEqualTo(1).addConditionSql("1=1");
Плагин для возможности последовательного вызова сеттеров в модели данных
https://github.com/vsl1978/mybatis-generator-pluginsplus
<plugin type="xyz.vsl.mybatis.generator.pluginsplus.ModelSettersChainPlugin"/>
На основе использования этого плагина можно создать объекты модели с использованием цепочки сеттеров:
Test test = new Test().setId(2).setName("123").setPrice(123d);
mapper.upsert(test);
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )