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

OSCHINA-MIRROR/automvc-bee

Клонировать/Скачать
README_CN.md 12 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 22:58 1b71ede

Хорошие новости:

Bee 2.1 с улучшенными функциями сегментирования (sharding) и MongoDB ORM. Текущая последняя версия: V2.4.0 LTS. 1.7.x LTS: 1.17.21.

Сегментирование (sharding): для бизнес-разработчиков прозрачно, кодирование прозрачно, требуется лишь добавить небольшое количество конфигурации сегментирования для реализации функции сегментирования.

Быстрый старт: наилучшая практика использования сегментирования.

«Не ошибается тот, кто ничего не делает» — «Лунь Юй». ORM Bee появился в ответ на потребности современного интернета в большом объёме программного обеспечения, частых изменениях требований, высоких требованиях к производительности!

Bee — это простой, удобный и мощный JAVA ORM фреймворк (меньше кодирования, более быстрая разработка, более высокая скорость работы). Bee — новый ORM Java фреймворк для эпохи интернета, быстрее, проще, автоматизированнее, с более быстрой разработкой и более высокой скоростью работы, умнее! Bee прост и удобен: концепция проста, можно освоить за 10 минут. Bee мощный: скорость работы выше, чем у других популярных инструментов ORM. Bee многофункциональный: поддерживает JDBC/реляционные базы данных; поддерживает мобильную среду ORM: Android и Harmony; поддерживает NoSQL, такие как Cassandra, Mongodb и т. д.; поддерживает сегментирование; поддерживает запросы ElasticSearch.

Если Mybatis не повторяет колесо после Hibernate, то Bee не будет повторять его после Hibernate и Mybatis! Выберите их преимущества, избегайте их недостатков, а также добавьте свои собственные преимущества!

Bee даже заточит нож за вас! IT->AiTea

Требования к среде

Bee jdk1.8+

Bee2.1.8 + Spring boot3.0.8 соответствует версии 2.1.8.boot3.0.8, требуется JDK17 Bee2.2 + Spring boot3.0.13 соответствует версии 2.2.boot3.0.13, требуется JDK17

Основные функции и особенности Bee:

Основные функции

Краткое описание новых функций:

V2.4.0 (2024. Национальное празднование · LTS)

  1. Поддержка chaining SQL программирования с использованием заполнителей для предварительной компиляции, предотвращение атак с внедрением кода; добавлена поддержка обновления и удаления для chaining программирования.
  2. Если таблица не указана, кэш не используется.
  3. Добавлена поддержка расчёта по умолчанию для сегментирования дат, добавлен пример пользовательского сегментирования.
  4. Поддержка запросов ElasticSearch (7.x) ORM.
  5. Пользовательский SQL (PreparedSql) добавляет методы для связывания имён таблиц, позволяя пользовательскому SQL без сущности T также управляться кэшем.
  6. MongoDB генерирует Javabean на основе таблицы, поддерживает генерацию аннотаций по умолчанию.
  7. Шаблоны методов сегментирования используют finally для обработки контекста восстановления.
  8. MapSql (MapSuid) поддерживает использование Condition для более сложных условий where и установки значений.
  9. Добавлен ConditionExt для поддержки использования entity::getName для ссылки на имена свойств.
  10. Добавлены ChainSqlFactory и ChainSqlFactoryHelper/CSF для помощи в цепочке SQL.
  11. Добавлен ResultAssembler для настройки результатов запроса.
  12. MoreTable добавляет методы selectWithFun и count.
  13. MoreTable добавляет метод List<String[]> selectString(T entity, Condition condition).
  14. MoreTable улучшает обновление для многотабличных связей.
  15. Поддерживает конфигурацию сегментирования в стиле property.
  16. MoreTable поддерживает многотабличные запросы с selectJson.
  17. GenBean поддерживает java.time.LocalDateTime.
  18. Исправлена ошибка: GenConfig baseDir по умолчанию поддерживает Linux.
  19. Suid поддерживает java.time.LocalDateTime.
  20. Добавлена аннотация TO_DATE для фильтрации записей в Oracle where.
  21. Исправлена ошибка: при однострочной вставке и автоматическом определении значения необходимо выполнить doBeforePasreEntity перед InsertAndReturnId в режиме сегментирования, чтобы установить InitIdByAuto. InsertAndReturnId должен передавать pkName в виде имени столбца.
  22. Улучшения:
    • При многотабличной вставке, если нет дочерней таблицы, основная таблица использует insert.
    • Файлы генерации добавляют функцию резервного копирования существующих файлов.
    • TranHandler выбрасывает исключения, которые он получает, на верхний уровень.
  23. pgsql поддерживает json/jsonb, но в where всё ещё требуется писать специфический SQL для pgsql.
  24. Улучшено сегментирование.

Подробное описание изменений

Нажмите здесь, чтобы увидеть подробное описание изменений

Базы данных, поддерживаемые Bee

  1. MySQL
  2. Oracle
  3. SQL Server
  4. MariaDB
  5. H2
  6. SQLite
  7. PostgreSQL
  8. MS Access
  9. Золотой запас
  10. Dream
  11. OceanBase
  12. Cubrid,HSQL,Derby,Firebird
  13. Другие базы данных, поддерживающие JDBC

NoSQL: 14. Mongodb 15. ElasticSearch 16. Cassandra

Мобильные среды (базы данных): 17. Android 18. Harmony

Сравнение ORM

Сравнение для JDBC

Сравнение ORM (более подробно)

Тестовая среда: Windows. База данных: MySQL (версия 5.6.24). Точки тестирования: пакетная вставка; постраничный запрос; транзакция (обновление и выбор).

Пакетная вставка (единица измерения: мс)
  5k 1w 2w 5w 10w
Bee 529.00 458.33 550.00 1315.67 4056.67
MyBatis 1193 713 1292.67 1824.33 Exception
**Сравнение производительности Bee и MyBatis**
Bee MyBatis
Запрос (единица измерения: мс) 17,33 314,33
Транзакция (обновление и выборка) (единица измерения: мс) 1089,00 1144

Файлы, необходимые для Bee:

  • orm\compare\bee\service\BeeOrdersService.java

Файлы, необходимые для MyBatis: orm\compare\mybatis\service\MybatisOrdersService.java orm\compare\mybatis\dao\OrdersDao.java orm\compare\mybatis\dao\OrdersMapper.java orm\compare\mybatis\dao\impl\OrdersDaoImpl.java

Общие файлы, которые необходимы обоим инструментам:

  • Orders.java
  • OrdersService.java

Bee не требует от пользователя написания кода Dao для одной таблицы, что означает экономию трёх файлов Dao для каждой таблицы. Для 100 таблиц это экономия 300 файлов Dao.

Сравнение производительности приложений Bee и MyBatis при разработке APP

Операция GreenDao (Android) Bee (Android 8.1) Bee (HarmonyOS P40 Pro)
Вставка 104666 747 339
Запрос 600 184 143
Удаление 47 25 2

Быстрое начало работы:

  1. Инициализация:

    • В случае использования Maven добавьте следующие зависимости в файл pom.xml:
          <dependency>
              <groupId>org.teasoft</groupId>
              <artifactId>bee-all</artifactId>
              <version>2.4.0</version>
          </dependency>
      
          <!-- Mysql config.You need change it to the real database config. -->
          <dependency>
              <groupId>mysql</groupId>
              <artifactId>mysql-connector-java</artifactId>
              <version>5.1.47</version>
              <scope>runtime</scope>
          </dependency>
    • При использовании Gradle добавьте следующую зависимость:
      implementation group: 'org.teasoft', name: 'bee-all', version: '2.4.0'
      //Gradle(Short)
      implementation 'org.teasoft:bee-all:2.4.0'
  2. Создание базы данных и таблиц:

    • Создайте базу данных с именем bee по умолчанию. Можно использовать скрипт init-data(user-orders)-mysql.sql для создания таблиц и вставки начальных данных.

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

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

1
https://api.gitlife.ru/oschina-mirror/automvc-bee.git
git@api.gitlife.ru:oschina-mirror/automvc-bee.git
oschina-mirror
automvc-bee
automvc-bee
master