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

OSCHINA-MIRROR/reger-spring-boot-starter-dao

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

spring-boot-starter-dao

Проект, который интегрирует Spring Boot, MyBatis, универсальные мапперы, PageHelper и Druid. Цель проекта — снизить сложность разработки уровня данных, сделать конфигурацию MyBatis полностью независимой от XML, включить JPA в разработку на основе MyBatis, значительно упростить входной порог использования MyBatis и повысить его удобство применения. Проект позволяет новичкам легко работать с MyBatis, а опытным разработчикам повышает эффективность работы и качество кода.

Основные характеристики проекта

1. Конфигурация очень проста, что делает проект легким в освоении;
2. Поддерживает разделение чтения и записи;
3. Поддерживает несколько источников данных;
4. Поддерживает использование аннотаций для указания соответствия между перечислением и значениями, хранящимися в базе данных;
5. Базируется на универсальных мапперах для быстрого создания CRUD операций для одиночных таблиц;
6. Использует PageHelper для реализации удобного физического пагинационирования базы данных;
7. Использует Druid для мониторинга сервера.
8. Может генерировать модели с полными комментариями на основе таблиц базы данных и их полей, а также создавать DAO-слой на основе универсальных мапперов.

Быстрый старт

Быстрый старт нажмите здесь### Общедоступный доступ к проекту Проект будет обновляться на 开元中国 и GitHub, приветствуем ваши отзывы и предложения!

Группа QQ для обсуждения: 64409116, если у вас есть вопросы или предложения, присоединяйтесь к группе для обратной связи.

Журнал обновлений

2.0.2
Дата выпуска: 8 сентября 2018 года
Обновление содержимого:
        1. Устранена проблема с большим количеством потоков при создании пула соединений
        2. Устранена необходимость конфигурации вторичного источника данных
        3. Улучшены некоторые части кода

2.0.1
Дата выпуска: 15 мая 2018 года
Обновление содержимого:
        1. Улучшены некоторые части кода
        2. Устранена проблема в генераторе кода

2.0.0
Дата выпуска: 10 мая 2018 года
Обновление содержимого:
        1. Добавлен Sharding-JDBC для поддержки шардинга по базам данных и таблицам
        2. Внесено несколько других изменений
Примечание: Версии 2.X.X и 1.X.X несовместимы по конфигурационным файлам

1.1.0
Дата выпуска: 12 апреля 2018 года
Обновление содержимого:
        1. Обновлен Spring Boot до версии 2.0.1

1.0.7
Дата выпуска: 11 апреля 2018 года
Обновление содержимого:
        1. Обновлен Spring Boot до версии 1.5.11, а также обновлены некоторые зависимости
        2. Устранена проблема выброса исключения при использовании GeneratorMain для генерации кода, если проект зависит от Spring Boot Starter Web
```1.0.6
Дата выпуска: 24 января 2018 года
Обновление содержимого:
        1. Изменены некоторые параметры по умолчанию
        2. Добавлен spring.mybatis.nodes.[dbname].

### Конфигурационные свойства MyBatis

#### Версия 1.0.5
Дата выпуска: 11 декабря 2017 года  
Обновление:  
1. Обновлено зависимое соединение Druid до версии 1.1.6  
2. Устранена проблема с транзакциями, возникшая в версии 1.0.4  

#### Версия 1.0.4
Дата выпуска: 9 ноября 2017 года  
Обновление:  
1. Перезаписана входная точка генератора кода, а также модифицированы зависимости конфигурации генератора кода  
2. Устранена проблема изоляции конфигураций при использовании нескольких источников данных  
3. Устранены проблемы с зависимыми инструментами генератора кода  

#### Версия 1.0.3
Дата выпуска: 3 ноября 2017 года  
Обновление:  
1. Уменьшена зависимость JDK до версии 1.7  
2. Устранена проблема с плагином пагинации при работе с несколькими источниками данных  

#### Версия 1.0.2
Дата выпуска: 29 сентября 2017 года  
Обновление:  
1. Устранена проблема выхода за границы массива при попытке переключиться на отключенный второй источник данных  

#### Версия 1.0.1
Дата выпуска: 27 сентября 2017 года  
Обновление:  
1. Добавлена зависимость MyBatis-generator для быстрого создания слоя DAO#### Версия 1.0.0
Дата выпуска: 24 сентября 2017 года  
Обновления:  
1. Поддержка разделения чтения и записи  
2. Поддержка нескольких источников данных  
3. Серверное мониторинг на основе Druid  
4. Поддержка аннотаций для указания соответствия значений базы данных и перечислений  
5. Быстрая реализация CRUD операций для одной таблицы с помощью общего Mapper  
6. Легкая реализация физического пагинации с помощью PageHelper```markdown
### Пример программы
#### 1. Клонировать [пример программы](https://gitee.com/lei0719/spring-boot-starter-dao-example)
```bash
git clone https://gitee.com/lei0719/spring-boot-starter-dao-example.git

2. Генерация слоя DAO, модели и маппера

Импортируйте пример в Eclipse, измените параметры в generator.properties, чтобы JDBC параметры указывали на вашу базу данных. Измените параметры таблицы, заменив планируемые таблицы на существующие в вашей базе данных.

Запустите проект через Application, выбрав метод main в com.reger.mybatis.generator.GeneratorMain. Ждите завершения процесса; если нет ошибок, то слой DAO будет создан.

3. Запуск примера проекта

Для запуска примера проекта вам потребуется импортировать файл данных test.sql.

Затем измените параметры подключения к базе данных в 'application.yml'. Если нет вторичного источника данных, можно закомментировать его конфигурацию.

Выполните команду mvn spring-boot:run в корневой директории проекта.


```markdown
## 2. По умолчанию конфигурация пула соединений Druid
``````yaml
spring:
  druid:
    default:                             # Default parameters for the Druid connection pool, specific configurations of the primary or replicated data source will inherit this configuration
      enable: true                       # Enable/disable the connection pool
      initial-size: 5                    # Initial size of the connection pool
      max-active: 500                    # Maximum number of active connections in the pool
      min-idle: 5                        # Minimum number of available connections in the pool
      max-wait: 3000                     # Maximum wait time to obtain a connection
      filters: wall,stat                 # Activate filters
      username: reger                    # Database user login
      password: reger_123                # Password for the database user
      default-auto-commit: true          # Automatically commit transactions if value is false, then data without an explicit transaction will not be saved
      access-to-underlying-connection-allowed: 
      async-close-connection-enable: 
      break-after-acquire-failure: 
      clear-filters-enable: 
      connection-error-retry-attempts: 
      default-read-only: 
      default-transaction-isolation: 
      driver-class-name: 
      dup-close-log-enable: 
      fail-fast: 
      log-abandoned: 
      log-different-thread: 
      login-timeout: 
      max-create-task-count: 
      max-evictable-idle-time-millis: 
      max-open-prepared-statements: 
      max-pool-prepared-statement-per-connection-size: 
      min-evictable-idle-time-millis: 
      not-full-timeout-retry-count: 
      pool-prepared-statements: 
      query-timeout: 
      remove-abandoned: 
      remove-abandoned-timeout-millis: 
      test-on-borrow: 
      test-on-return: 
      test-while-idle: 
      time-between-connect-error-millis: 
      time-between-eviction-runs-millis: 
  время-между-лог-статистикой-миллисекунды: 
   url: 
   проверочное-запрос: 
   таймаут-проверочного-запроса: 
   свойства-соединения:

```yaml  
spring:
 mybatis:

Конфигурация MyBatis

Конфигурационные параметры MyBatis

configuration:                        # Конкретные конфигурационные параметры MyBatis, все экземпляры MyBatis будут использовать эту конфигурацию
   cache-enabled: true                 # Включено ли кэширование
   local-cache-scope: session          # Область действия локального кеша
   lazy-loading-enabled: true          # Включено ли ленивое загрузочное поведение
   default-executor-type: simple       # Тип исполнителя SQL
   map-underscore-to-camel-case: true  # Включен ли режим преобразования нижнего подчеркивания в стиль CamelCase
   aggressive-lazy-loading:            # Агрессивное ленивое загрузочное поведение
   auto-mapping-behavior:              # Автомаппинг поведение
   call-setters-on-nulls:              # Вызов сеттеров при null значениях
   default-fetch-size:                 # Значение по умолчанию для размера выборки
   default-statement-timeout:          # Значение по умолчанию для времени ожидания оператора
   log-prefix:                         # Префикс лога
   use-generated-keys:                 # Использование сгенерированных ключей
   log-impl:                           # Реализация логгера
   multiple-result-sets-enabled:       # Включено ли использование нескольких наборов результатов
   return-instance-for-empty-row:      # Возвращение экземпляра для пустой строки
   use-column-label:                   # Использование метки столбца
   safe-result-handler-enabled:        # Включено ли безопасное управление результатами
   safe-row-bounds-enabled:            # Включено ли безопасное ограничение строк
   use-actual-param-name:              # Использование реального имени параметра

Конфигурация источников данных MyBatis```yaml

spring: mybatis: nodes: user: # Название этого узла данных order: before # Порядок генерации первичного ключа MyBatis; если требуется получить ключ до вставки данных, установите значение BEFORE, иначе установите значение AFTER (по умолчанию значение BEFORE) style: normal # По умолчанию способ преобразования полей таблицы в MyBatis универсальном маппере primary: false # Является ли это основным объектом данных, максимум один объект может иметь значение true, только первый установленный объект будет действовать base_package: com.reger.test.user.dao # Расположение конфигурации интерфейсов мапперов MyBatis, это значение не должно быть пустым, можно использовать регулярные выражения, несколько значений разделены запятой mapper_package: com.reger.test.user.mapper # Расположение XML-конфигураций мапперов MyBatis, это значение лучше всего не должно быть пустым, можно использовать регулярные выражения, несколько значений разделены запятой type_aliases_package: 'com.reger.test.user.model' # Пакет с моделью, это значение может быть пустым, можно использовать регулярные выражения, несколько значений разделены запятой properties: # Конфигурационные параметры MyBatis config_map:

data-sources:                                             # Конфигурация источников данных для распределённого хранения (если нет конфигурации источников данных для распределённого хранения и отсутствует конфигурация шардинга, то используется конфигурация основного/резервного сервера)
   user_0: 
     load-balance-algorithm-type: round-robin
 ```            мастер:
                url: jdbc:mysql://127.0.0.1:3306/пользователь?useSSL=false
              слейвы:
                - url: jdbc:mysql://127.0.0.1:3308/пользователь?useSSL=false
         свойства:
            sql.show: true
      базовый:
       порядок: перед
       стиль: обычный
       основной: true
       пакет-базового-класса: com.reger.test.base.dao
       пакет-мапперов: com.reger.test.base.mapper
       пакет-типовых-алиасов: 'com.reger.test.base.модель'
  #        свойства:
  #        конфиг-карта:
      источники-данных:
        базовый_0: 
  #            алгоритм-балансировки-загрузки-класс-название: 
            тип-алгоритма-балансировки-загрузки: случайный
            мастер:
               url: jdbc:mysql://127.0.0.1:3306/базовый_0?useSSL=false 
         базовый_1: 
            тип-алгоритма-балансировки-загрузки: последовательный
            мастер:
               url: jdbc:mysql://127.0.0.1:3306/базовый_1?useSSL=false
            слейвы:
               - url: jdbc:mysql://127.0.0.1:3308/базовый_1?useSSL=false
         свойства:
            sql.show: true
         шардинг:
  #          имя-по-умолчанию-источника-данных: базовый_0
  #          класс-генератора-ключа-по-умолчанию: 
  #          связанные-таблицы:
  #            - 
            стратегия-базы-по-умолчанию:
```

Пояснения:
1. Удалены лишние пробелы после `url`.
2. Корректно оформлены строки с адресами.
3. Устранены лишние пробелы внутри значений ключей.
4. Устранены лишние пробелы после `#` в комментариях.
5. Устранены лишние пробелы после `:` в значениях ключей.
6. Устранены лишние пробелы после `=` в значениях ключей.
7. Устранены лишние пробелы после `;`.

Также учтено использование правильных знаков препинания и пробелов.             встроенный:
                столбец-шардинга: id
                выражение-алгоритма: "базовый_${id % 23 % 2}"
             таблицы:
              базовая:
                имя-столбца-генератора-ключа: id
                фактические-узлы-данных: "базовый_${0..1} базовая"
  #              класс-генератора-ключа: 
  #              логический-индекс: 
  #              логическая-таблица: базовая
  #              стратегия-базы:
  #                встроенный:
  #                  столбец-шардинга: id
  #                  выражение-алгоритма: "базовый_${id % 23 % 2}"
  #              стратегия-таблицы:
  #                встроенный:
  #                  столбец-шардинга: ctime
  #                  выражение-алгоритма: базовый_${D.format(ctime)}

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

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

Введение

Стремясь снизить сложность разработки на уровне данных, мы полностью отказываемся от XML в конфигурации mybatis. Мы позволяем разработчикам встраивать JPA в основу, построенную на mybatis, что значительно снижает порог входа для работы с mybatis и в значительной степени повышает его удобство использования. Мы делаем так, чтобы новичкам было легк... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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