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

OSCHINA-MIRROR/washmore_tech-BatchHacker

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

Описание функционала BatchHacker.jar

Фреймворк MyBatis имеет ограничение на количество элементов в списке List при выполнении операций массового ввода или обновления — 2100 элементов. По мере роста бизнес-данных список может превышать это значение. Если вам сложно менять старый бизнес-код, этот JAR-файл поможет решить проблему. Он позволяет преодолеть ограничение на количество данных в массовой обработке MyBatis (2100 элементов) без изменения исходного кода. Второе применение заключается в использовании этого JAR-файла как средства автоматической сегментации данных для отправки, что помогает избежать ситуации, когда одна большая транзакция увеличивает уровень блокировки базы данных.### Настройка Maven

  1. Добавьте новый профиль в конфигурационный файл Maven profiles:
        <profile>
            <id>washmore</id>
            <repositories>
                <repository>
                    <id>public</id>
                    <url>http://maven.washmore.tech/nexus/content/repositories/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://maven.washmore.tech/nexus/content/repositories/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
  1. Включите последнюю версию зависимости Maven в ваш проект:
    <dependency>
      <groupId>tech.washmore</groupId>
      <artifactId>util.batchhacker</artifactId>
      <version>1.5-SNAPSHOT</version>
    </dependency>
```### Пример использования
1. Сначала добавьте AOP-интерцептор в Spring. 
Используйте декларативный способ объявления:
Добавьте следующую строку в конфигурационный файл Spring:
``` или используйте аннотационный способ (если вы используете Spring Boot): Создайте класс `BatchHackerConfig` (убедитесь, что он будет автоматически сканироваться): ``` @Configuration @ImportResource("classpath*:batchhacker/spring-aop.xml") public class BatchHackerConfig { } ```
  1. Затем просто добавьте аннотацию @BatchHacker над методом, который выполняет массовое действие. Если в параметрах есть несколько списков (List), то вам потребуется дополнительно добавить аннотацию @BatchHackerParam к параметрам списка с массовыми данными;

Поддерживаемые формы входных параметров: a. Один параметр типа List; b. Несколько параметров, один из которых является типом List; c. Несколько параметров, содержащие несколько списков (List), один из которых имеет аннотацию @BatchHackerParam; d. Один параметр типа Map, где одно значение ключа соответствует списку (List);

Формы выходных данных поддерживаются только в виде Integer (int).#### советы: Этот механизм имеет недостаток — методы, вызываемые через ключевое слово this, не могут быть усилены, так как они не попадают под влияние AOP. Официальное мнение Spring AOP гласит, что при использовании AOP следует избегать внутренних вызовов методов. Конечно, можно обойти это ограничение, заменив this на полученный из среды Spring бин и затем выполнив вызов метода, но тогда придётся модифицировать исходный код логики, что противоречит цели использования этого небольшого плагина. Однако вы также можете реализовать этот процесс с помощью аннотаций и AOP, но это уже будет история о другом небольшом плагине (автоматическое прокси/усиление внутренних вызовов методов посредством аннотаций)... если вас интересует эта тема, вы можете попробовать самостоятельно (^U^)ノ~YO

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/washmore_tech-BatchHacker.git
git@api.gitlife.ru:oschina-mirror/washmore_tech-BatchHacker.git
oschina-mirror
washmore_tech-BatchHacker
washmore_tech-BatchHacker
master