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

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

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку 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 для одиночных таблиц с помощью общего маппера;
          6. Быстрое создание физического пагинационного запроса с помощью pagehelper.
### Пример программы

1. Клонирование пример программы

git clone https://gitee.com/lei0719/spring-boot-starter-dao-example.git

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

Импортируйте пример в Eclipse, измените параметры в generator.properties, чтобы указать параметры JDBC для вашей базы данных. Измените параметры таблицы, заменив таблицы, которые планируется сгенерировать, на существующие в вашей базе данных. Запустите проект в режиме Application, выбрав класс com.reger.mybatis.generator.GeneratorMain, содержащий метод main. Подождите немного, если ошибок не возникло, то слой данных для ваших таблиц сгенерирован.

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

Для запуска примерного проекта вам сначала нужно импортировать файл данных test.sql. Затем измените параметры подключения к базе данных в application.yml. Если реплика не используется, можно закомментировать её конфигурацию. Запустите проект в корневой директории с помощью команды mvn spring-boot:run

Дополнительные конфигурационные параметры

1. Конфигурация мониторинга druid

spring:
  druid:
    stat:
      enable: true                        # Включение мониторинга druid
      allow: ''                           # IP-белый список (если не указан или пуст, то разрешено все подключения)
      deny: ''                            # IP-черный список (при наличии общих элементов, deny имеет приоритет над allow)
      loginUsername: 'leige'              # Имя пользователя
      loginPassword: 'leige'              # Пароль
      exclusions: '*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*' # WebStatFilter игнорирует ресурсы
```       resetEnable: false                  # Отключает функцию "Сбросить все" на HTML-странице
      filter-url-patterns: '/*'

2. Заданные параметры подключения Druid

spring:
  druid:
    default:                              # Заданные параметры подключения Druid, конкретные параметры для основного или реплицирующегося подключения наследуют эти параметры
      enable: true
      initial-size: 5                     # Инициализация размера пула подключений
      max-active: 500                     # Максимальное количество подключений в пуле
      min-idle: 5                         # Минимальное количество подключений, которое должно быть доступно в пуле
      max-wait: 3000                      # Максимальное время ожидания подключения
      filters: wall,stat                  # Включенные фильтры
      username: reger                     # Имя пользователя для подключения к базе данных
      password: reger_123                 # Пароль для подключения к базе данных
      default-auto-commit: true           # Автоматическое подтверждение транзакций, если значение равно false, данные без транзакций не будут сохранены
      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: 
      time-between-log-stats-millis: 
      url: 
      validation-query: 
      validation-query-timeout: 
      connect-properties:

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

spring:
  mybatis:
```    конфигурация:                        # конкретные параметры конфигурации mybatis, все экземпляры mybatis будут использовать эту конфигурацию
      кэш-включен: true                 # включить кэш
      локальный-кэш-домен: сессия      # область кэша
      ленивая-загрузка-включена: true   # включить ленивую загрузку
      тип-исполнителя-по-умолчанию: простой # режим выполнения SQL
      преобразование-подчеркивания-в-кэмел-кейс: true # включить преобразование подчеркиваний в CamelCase
      агрессивная-ленивая-загрузка: 
      поведение-автомаппинга: 
      вызов-сеттеров-на-нулях: 
      стандартный-размер-запроса: 
      стандартное-время-ожидания-запроса: 
      префикс-лога: 
      использование-сгенерированных-ключей: 
      реализация-лога: 
      включение-поддержки-нескольких-результатных-наборов: 
      возврат-экземпляра-для-пустой-строки: 
      использование-имени-столбца: 
      включение-безопасного-обработчика-результатов: 
      включение-безопасных-ограничений-строк: 
      использование-реального-имени-параметра: 

4. Конфигурация источников данных mybatis

spring:
  mybatis:
    узлы:       пользователь:                                                       # имя этого узла данных
        порядок: перед                                                    # порядок генерации первичного ключа mybatis, если необходимо получить ключ перед вставкой данных, установите значение BEFORE, иначе установите значение AFTER, значение по умолчанию - BEFORE
        стиль: обычный                                                    # стандартное преобразование полей в mybatis универсальном маппере
        основной: false                                                    # является ли это основным объектом данных, максимум один объект может быть установлен в true, только первый конфигурированный объект будет применяться
        базовый-пакет: com.reger.test.user.dao                              # пакет конфигурации интерфейсов маппера mybatis, это значение не может быть пустым, можно использовать регулярные выражения, несколько значений разделяются запятой
        пакет-маппера: com.reger.test.user.mapper                           # пакет конфигурации XML файлов маппера mybatis, это значение лучше не оставлять пустым, можно использовать регулярные выражения, несколько значений разделяются запятой
        пакет-типов-алиасов: 'com.reger.test.user.model'                    # пакет классов модели, это значение может быть пустым, можно использовать регулярные выражения, несколько значений разделяются запятой
        параметры:                                                        # параметры конфигурации mybatis
        карта-конфигурации:         источники-данных:                                                 # конфигурация источников данных для разделения баз данных (если нет конфигурации источников данных для разделения баз данных и нет конфигурации шардирования, будет использована конфигурация основного и репликационного источников данных)
          пользователь_0: 
            тип-алгоритма-балансировки-загрузки: круговой-по-очереди
          мастер:
              url: jdbc:mysql://127.0.0.1:3306/user?useSSL=false
            рабочие_узлы:
              - url: jdbc:mysql://127.0.0.1:3308/user?useSSL=false
        свойства:
          sql.show: true
       база:
        порядок: перед
        стиль: обычный
        основной: true
        основной_пакет: com.reger.test.base.dao
        пакет_мапперов: com.reger.test.base.mapper
        пакет_типовых_алиасов: 'com.reger.test.base.model'
        источники_данных:
          база_0: 
            тип_алгоритма_балансировки_загрузки: случайный
            мастер:
              url: jdbc:mysql://127.0.0.1:3306/base_0?useSSL=false
          база_1: 
            тип_алгоритма_балансировки_загрузки: последовательный
            мастер:
              url: jdbc:mysql://127.0.0.1:3306/base_1?useSSL=false
            рабочие_узлы:
              - url: jdbc:mysql://127.0.0.1:3308/base_1?useSSL=false
         свойства:
          sql.show: true
         шардинг:           стратегия_по_умолчанию_базы:
            inline:
              столбец_шардинга: id
              выражение_алгоритма: "base_${id % 23 % 2}"
           таблицы:
            база: 
              имя_столбца_генератора_ключа: id
              фактические_узлы_данных: "base_${0..1}.base"
#              имя_класса_генератора_ключа: 
#              логический_индекс: 
#              логическая_таблица: база
#              стратегия_базы:
#                inline:
#                  столбец_шардинга: id
#                  выражение_алгоритма: "base_${id % 23 % 2}"
#              стратегия_таблицы:
#                inline:
#                  столбец_шардинга: ctime
#                  выражение_алгоритма: base_${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