Bee — это Java ORM-фреймворк, который помогает ускорить разработку и упростить кодирование.
Bee имеет сложность O(1), то есть с помощью Bee можно не писать дополнительный код для работы с DAO, независимо от количества таблиц.
V1.0
V1.1
V1.2
V1.3
V1.4
V1.5
V1.6
V1.7
V1.8
Исправление существующих проблем:
v1.8.15(2020-10-01 3 октября)
v1.8.99(2020-10-25 День двойной девятки)
V1.9
SuidRich получил поддержку метода пакетной вставки с использованием списка параметров. Усиление функциональности SuidRich: * public List<String[]> selectString(T entity, Condition condition); * public int updateById(T entity, Condition condition); * public String selectWithFun(T entity, FunctionType functionType, String fieldForFun, Condition condition); * public int count(T entity); * public int count(T entity, Condition condition); * public boolean exist(T entity) — проверка наличия записи. SuidRich скорректировал метод selectById и теперь может интеллектуально распознавать тип идентификатора Javabean для строковых типов идентификаторов. Suid получил новый метод insertAndReturnId. Укрепление функций агрегации cont, sum, avg, min, max. В Condition добавлены методы: * public Condition selectFun(FunctionType functionType,String fieldForFun); * public Condition selectFun(FunctionType functionType,String fieldForFun,String alias). В Condition добавлены методы opWithField и setWithField для поддержки выражений типа field1=field2. В Condition добавлен метод selectDistinctField для поддержки distinct, аналогично select distinct(userid) from table_name. MapSuid позволяет работать с данными без использования Javabean, используя map для хранения информации об объектах, которые необходимо преобразовать, и выполнять операции с базой данных (запросы, вставка и удаление данных). Поддержка чтения Excel (*.xls, *.xlsx) и преобразования данных в List<String[]>, а также их импорта в базу данных (bee-ext). Многотабличные запросы с несколькими условиями связи. Использование одного Connection для нескольких операций ORM. Поддержка одновременного использования разных баз данных (несколько источников данных). Обработка пустых строк длиной больше 0, например « ». Добавление аннотации Ignore для игнорирования полей Javabean и предотвращения их преобразования. Генерация файлов с помощью шаблонов с настраиваемыми начальными и конечными тегами. Улучшение управления соединениями с базами данных. Повышение качества кода. Усиление цепочечного программирования: Select, Update. Настройка bee.properties и HoneyConfig. Интеграция Spring boot с предоставлением bee-spring-boot-starter. Создание таблиц на основе Javabean. Исправление проблемы с разделением на страницы в многотабличных запросах, где одинаковые поля в некоторых базах данных могут вызывать путаницу (Oracle). Исправление ошибок при обновлении, когда идентификатор по умолчанию установлен как id, но id отсутствует или равен null. Исправление ошибки кэширования. Исправление ошибки, связанной с методом getRangeId(int sizeOfIds) в GenId. Исправление ошибки при использовании jdk 11 и LoggerFactory с конфигурацией log4j2. Рекомендация использовать представления без кэширования при их использовании, чтобы избежать проблем с грязными данными.
V1.9.8(2021 середина осени)
В SuidRich добавлено 4 метода: * public int save(T entity); * public int update(T oldEntity,T newEntity); * public String selectJson(T entity, String selectField); * public String selectJson(T entity, String selectField, int start, int size).
MoreTable (многотабличный запрос): * Поддержка List-типа полей в многотабличной связи для запросов. * Поддержка объединения двух дочерних таблиц (inner join, right join, left join). * Поддержка одной дочерней таблицы, которая содержит другую дочернюю таблицу. * Исправление проблемы, когда все атрибуты дочерней таблицы равны null, поле дочерней таблицы напрямую устанавливается равным null. * Добавление метода subClass() в аннотацию JoinTable для обработки List-типов в многотабличных связях. * В Condition добавлен новый метод для фильтрации данных во время связи: public Condition opOn(String field, Op Op, Object value).
MapSuid (работа с базой данных без использования структуры Javabean): * Новые методы для обновления, подсчёта, запроса с разбивкой на страницы и вставки и корректировки insert and insertAndReturnId. * Теперь MapSuid полностью поддерживает функции select, update, insert и delete, а также разбиение на страницы. * Добавлены методы putNew(String fieldName, Object newValue), putNew(Map map), put(Map map) для поддержки разбиения на страницы в MapSql. * Добавлен метод count(MapSql mapSql) для поддержки разбиения на страницы в MapSuid. * Добавленные методы insertAndReturnId(MapSql mapSql), support page в MapSuid для поддержки разбиения на страницы. * Добавленный метод putNew(String fieldName, Object newValue) для поддержки разбиения на страницы в MapSqlImpl. * Добавленный метод toUpdateSqlByMap, toCountSqlByMap для поддержки разбиения на страницы в MapSqlProcessor. mapSql), update(MapSql mapSql), support page in MapSuidImpl.
MapSuidImpl change two different method: insert(MapSql mapSql) & insertAndReturnId(MapSql mapSql).
PreparedSqlLib 新增 selectMapList 方法.
Много данных источников чтения и записи, поддержка разных типов данных источников, удобство переноса данных между базами данных.
Logger: два метода поддерживают Throwable параметр.
SQL-вывод журнала поддерживает разные уровни вывода настроек.
Увеличение инструмента класса потока StreamUtil.
ObjectUtils увеличение одного метода: isTrue(Boolean b).
Усиление проверки полей на законность, включая используемые поля MapSuid.
Use LinkedHashMap in List<Map> result for selectMapList(String sql).
Condition поддерживает condition.set("fieldName", null).
SelectJson поддерживает преобразование long в string через конфигурацию.
Усиление autoGenBean, поддержка генерации SQL-скриптов JSON формата (SQL Json Script).
Добавление общих функций поиска (упрощение сложного программирования запросов на стороне сервера).
Усиление многопоточной поддержки.
Можно указать путь к bee.properties.
Автоматическое создание Javabean (GenBean) поддерживает типы: JSON, TEXT.
Fix bug for ExecutableSql.
Перенос поля «порядок по».
Fix null bug in create() of ObjectCreatorFactory.
Fix bug для максимального количества столбцов (Excel в bee-ext).
Fix bug about HoneyContext.
Fix bug о checkPackageByClass.
Fix bug об условиях безопасности потоков в ConditionHelper.
V1.11 (трудовой день) — обновление до Maven перед пятью.
Каждая подверсия добавляет следующие функции:
V1.11.0.1.1 (2022 новый год)
SuidRich увеличивает метод: public long insertAndReturnId (T entity, IncludeType includeType);
PreparedSql увеличивает метод: public List select (String sql, T returnType);
Добавляет поддержку объявления первичного ключа: add annotation PrimaryKey. MapSqlKey поддерживает PrimaryKey.
BF может заменить BeeFactoryHelper для ускорения ввода.
Усиливает: конфигурация информации режима чтения и записи удаляет пробелы.
Исправляет ошибку именования передачи.
V1.11.0.2.1 (праздник весны 2022 года)
Перехватчики, мультиарендаторы.
Add Interceptor, InterceptorChain.
Add DefaultInterceptor, CommInterceptorChain, DefaultInterceptorChain.
V1.11.0.2.4 (зимние Олимпийские игры в Пекине 2022)
Расширение поддержки вторичного кэша: Redis кэш поддерживается.
Add BeeExtCache, DefaultBeeExtCache.
Add BeeExtRedisCache.
V1.11.0.2.15 (фестиваль фонарей 2022 года)
Добавить аннотации: Datetime, Createtime, Updatetime; JustFetch.
Поддержка Jndi источника данных.
Проверка значения MapSqlKey.
V1.11.0.2.20 (гордый)
Одновременное использование различных типов баз данных для оптимизации.
Поддержка одновременного использования различных баз данных (например, MySQL, Oracle, SQL Server).
PreparedSql (пользовательский SQL), MapSuid: перехватчики, поддержка нескольких источников данных.
Suid, PreparedSql, MapSuid поддерживают настройку имени источника данных, получение цепочки перехватчиков.
Увеличить аннотацию: AnnotationHandler, AutoSetString автоматически устанавливает значение символа.
Desensitize, чувствительная информация размыта.
ReplaceInto, MySQL replace into преобразование.
MultiTenancy мультиарендность.
BeforeReturnAnnotationHandler, AbstractDictI18nDefaultHandler.
Dict словарь преобразования.
DictI18n многоязычная интернационализация словаря преобразования.
V1.11.0.2.28 (особый день)
ShardingStruct для подготовки к разделению базы данных и таблицы.
Столбец имя столбца с именем свойства расширяет поддержку сопоставления.
Поддерживает пользовательский TypeHandler, обрабатывает результаты запроса ResultSet.
PreparedSql пользовательский SQL поддерживает запрос нескольких таблиц и возвращает связанные данные структуры Javabean.
Фиксированная ошибка: несколько таблиц запросов одной и той же сущности самосвязанное самозацикливание запрещено.
V1.11.0.3.8 (леди первая)
SetParaTypeConvert преобразует параметры PreparedStatement.
Javabean использует java.util.Date тип, чтобы сделать SUID совместимым.
SQLite получает результат Timestamp для преобразования.
Атрибуты сущности являются Javabean с DB таблицами JSON типа полей при настройке параметров и запросе результатов автоматически преобразуются (используя пользовательскую реализацию Json аннотаций).
V1.11.0.3.12 (день посадки деревьев)
Ddl.java использует Javabean для создания таблиц, поддерживает добавление java и db типов отображения, поддерживает установку определённого типа java_dbtype DB.
Ddl.java совместим с исходным типом char, совместим с java.util.Date.
PreparedSql поддерживает пакетную вставку.
Поддерживается установка преобразователя имён в Suid и других объектах.
Добавьте DbFeature диалектный регистратор, пользовательская реализация различных диалектов DB более удобна.
Cassandra поддерживается.
ShowExecutableSql добавляет List, Set, Map, UUID поддержку.
V1.11.0.3.20 (весеннее равноденствие)
Пользовательские динамические теги SQL: @in, @toIsNULL1, @toIsNULL2, , .
Динамический SQL, список преобразований в (1,2,3) предложения, не требует foreach, пакетная вставка также не требует foreach.
Разделение китайского API.
V1.11.0.4.22 (День Земли)
Добавьте интерфейс реестра Registry; добавьте NameRegistry.
Измените способ исключения интерфейса Serializer.
MapSuid, MapSql поддерживают анализ логических типов строк.
GenBean, ещё не поддерживаемые типы jdbc, напоминают, где установить.
GenBean добавляет поддержку, является ли он покрытием исходного файла.
GenBean добавляет получение поддержки полей, используя имена полей, можно не использовать строки напрямую.
Метод SuidRich selectString (T entity, String... selectFields) поддерживает переменные параметры.
CommInterceptorChain добавляет проверку, добавлен ли тот же тип перехватчика.
SystemLogger поддерживает настройку уровня журнала, удобную для разработки и отладки.
Logger добавляет публичный статический void debug (String msg, Throwable t) (удобный для разработки и отладки).
Nocache добавляет подсказку журнала.
Повышение безопасности кэширования.
Добавьте SPI предварительно загруженный интерфейс PreLoad.
Добавьте используемый глобальный перехватчик регистрации InterceptorChainRegistry.
Добавьте настройки конфигурации:
Исправлено исключение типа converter.
Исправлено исключение @PrimaryKey в Suid update (entity).
V1.11.0.4.29 (Международный день труда)
Конфигурационный файл поддерживает различные конфигурации среды.
SuidRich, public int update (T oldEntity, T newEntity) перехватчик обрабатывает только новые объекты newEntity. Расширение поддержки вторичного кэша
Поддержка Redis в качестве кэша.
Поддержка пользовательского TypeHandler для обработки результатов запроса ResultSet
Добавление преобразователя SetParaTypeConvert для преобразования типа параметров PreparedStatement.
Поддержка установки преобразователей имён в объектах Suid и подобных
Увеличение DbFeature-регистратора, упрощение использования различных диалектов DB.
Поддержка Cassandra
Добавление поддержки Jndi-источников данных
Ddl.java: использование Javabean для создания таблиц, поддержка сопоставления java и db типов полей, настройка сопоставления типа java_dbtype для конкретной БД
Использование PreparedSql для пакетной вставки и запросов к нескольким таблицам с возвратом связанных данных в виде структуры Javabean
Пользовательские динамические SQL-метки: @in, @toIsNULL1, @toIsNull2, ,
Динамический SQL преобразует список в формат in (1, 2, 3), не требует foreach, пакетная вставка также не требует foreach.
Регистраторы:
Конфигурационный файл поддерживает различные конфигурации для разных сред
Добавлены аннотации:
Улучшения:
Оптимизация для использования с несколькими типами БД одновременно (например, MySQL, Oracle, SQL Server);
Замена BeeFactoryHelper на BF для ускорения ввода;
Использование java.util.Date в Javabeans для совместимости с SUID;
Ddl.java совместим с исходным char-типом и java.util.Date;
Обработка результатов Timestamp в SQLite;
Автоматическое преобразование свойств Javabean и полей JSON при настройке и запросе (с использованием пользовательских аннотаций Json);
Удаление пробелов из конфигурационной информации режима чтения/записи;
Проверка значений MapSqlKey;
Добавление пустых интерфейсов в Registry;
Изменение способа выдачи исключений в Serializer;
Поддержка анализа строк типа Boolean в MapSuid и MapSql;
Улучшение GenBean: напоминание о том, где установить неподдерживаемые типы JDBC;
GenBean теперь поддерживает переопределение существующих файлов настроек;
GenBean может получать поля без использования строковых имён напрямую;
Метод selectString в SuidRich теперь принимает переменное количество аргументов: public List<String[]> selectString(T entity, String... selectFields).
Исправленные ошибки:
Версия V1.17 (2022·中秋)
Новые функции:
Поддержка start и size для разбиения на страницы в SqlServer;
Транзакционные аннотации Tran и их реализация по умолчанию, поддерживающая AOP-координацию, могут использоваться на уровне класса;
Поддержка Android (Android OS): прямое использование Bee для доступа к SQLite, добавление ORM-функциональности в Bee;
Поддержка HarmonyOS (HarmonyOS OS): прямое использование Bee для доступа к SQLite, добавление ORM-функциональности в Bee. В средах Harmony и Android можно использовать один и тот же код Bee для доступа к БД, что повышает повторное использование кода и экономит ресурсы!
Поддержка журналов Android: android.util.Log;
Поддержка журналов HarmonyOS: ohos.hiviewdfx.HiLog;
Поддержка первичных ключей, отличных от «id», кроме Long, также Integer или String;
Генерация первичных ключей с помощью аннотаций: GenId, GenUUID;
Добавление реализации по умолчанию для @Column (рекомендуется не использовать эту аннотацию в новых системах);
@Table, @Column, @PrimaryKey (@Id), @Ignore (@Transient) могут быть совместимы с соответствующими аннотациями JPA (определёнными в интерфейсе AnnoAdapter);
Полевое имя класса сущности (по умолчанию: сущность_F, автоматически генерируется) имеет атрибут ALL_NAMES, который позволяет получить все значения полей сущности за один раз;
Ddl.java поддерживает создание индексов (normal, unique), а также составных первичных ключей;
Динамическое получение JdbcToJavaType;
Добавлена новая категория именования (DbUpperAndJavaLower): база данных использует заглавные буквы, Java использует строчные буквы; символы совпадают, несмотря на регистр;
При использовании нескольких схем именования добавляется часть TranslateType;
Распределённый генератор идентификаторов, позволяющий установить начальный год: bee.distribution.genid.startYear.
Оптимизация и улучшения:
Исправленные ошибки:
V1.17.0.10 (поиск и исправление ошибок)
Исправленные ошибки:
V1.17.0.9 (оптимизация и улучшение)
V1.17.0.7 (有为)
V1.17.0.6 (奋斗)
V1.17.0.5 (日臻完善)
V2.0 (母爱)
Обновление версий V2.0.x.x
Подробное описание обновлений доступно в списке изменений.
Функции Sharding в V2.0
V2.0.0.1001 (2022·国庆节)
V2.0.1.1 (2023·元旦)
V2.0.1.22 (2023·春节)
V2.0.2.5 (2023·元宵节)
V2.0.2.14 (2023·情人节)
V2.1.2.21 (Dragon Fly)
V2.1.2.28 (Eleven)
Версия V2.1.3.12 (День посадки деревьев)
Поддержка генерации всего файла JavaBean для одной строки кода для всей библиотеки, соответствующей таблице. Новый GenBean().genAllBeanFile();
Пул соединений с данными, поддержка конфигурации нескольких источников данных, встроенная поддержка увеличения Dbcp2, Tomcat, C3P0.
Улучшение сохранения файлов с помощью аннотаций GridFs, сохранение имени файла, метаданных и т. д.
Изменение структуры tableNameList на Vector в Cache.
Поддержка аннотаций Lombok в GenBean: @Setter, @Getter, @Data.
Версия V2.1.3.21 (Весна)
Предоставление двух расширенных интерфейсов SuidRichExt и MongoSuidRichExt, а также класса быстрого ввода BFX.
Улучшенное выполнение запросов к метаданным файлов MongoDB GridFsFile.
Исправлен баг: создание таблицы DDL (Sharding); при потоковой фрагментации и запросе порядок полей преобразуется.
Версия V2.1.4.5 (Слава)
Поддержка вставки, запроса и фрагментации географических данных MongoDB.
Поддержка создания индексов MongoDB.
Поддержка транзакций MongoDB.
Версия V2.1.4.20 (Дождь)
Версия V2.1.5.1 (Праздник труда)
Печать журналов запросов MongoDB с использованием операторов печати.
Возможность выполнения прямых запросов MongoDB (MongodbRawSql).
Вставки в широковещательные таблицы.
По умолчанию поддерживается больше баз данных: MsAccess, Cubrid, HSQL, Derby, Firebird и др.
BeeMongodbSimpleDataSource поддерживает использование конфигурационных файлов для большего количества свойств.
Встроенная поддержка JSON с использованием инструмента fastjson.
Исправлен баг: массовая вставка не может автоматически генерировать значения первичного ключа.
Версия V2.1.5.20 (Тысяча слов)
Основные интерфейсы, такие как Suid, SuidRich, MoreTable, PreparedSql, MapSuid и другие, перемещены в пакет org.teasoft.bee.osql.api.
Создание пакетов org.teasoft.bee.mvc и org.teasoft.bee.mvc.service для лучшей поддержки программирования MVC и Spring RestFul.
Улучшено преобразование имён таблиц, включая подсказки типов.
Исправлена ошибка в PreparedSql при преобразовании класса в имя таблицы.
Совместимость с таблицами, имена которых содержат символы подчёркивания, например orders_1, рекомендуется использовать формат orders1.
Исправлены ошибки, связанные с массовой фрагментацией и вставкой параметров.
Текущий объект устанавливает преобразователь имён NameTranslate, который действует только один раз, чтобы лучше поддерживать spring bean.
Обновлён метод dropIndex.
Добавлены методы географической информации для запросов (используя типы параметров драйвера MongoDB).
С версии V2.0 и V2.1 были добавлены следующие функции:
Аналогично версии V2.1.6:
//V1.17.21 Если установлено значение false, то не будет выполняться SetParaTypeConverterRegistry и TypeHandlerRegistry по умолчанию.
closeDefaultParaResultRegistry;
JPA обрабатывает новые пакеты: jakarta.persistence.*;
Версия V2.1.7 (1 июля 2023)
Версия V2.1.8 (2023, Праздник середины осени)
1.1 Совместима со Spring boot, команда active выбирает среду, например: java -jar springbootDemo.jar --spring.profiles.active=dev, будет выбран профиль dev, и будет использоваться файл конфигурации bee-dev.properties.
1.2 Совместима с Spring boot, конфигурация источника данных, например spring.datasource.url.
1.3 Не запускает приложение, напрямую запускает основной метод, если в файле bee.properties не настроена конфигурация источника данных, также можно использовать конфигурацию источника данных spring boot application.properties.
2. MoreTable — множественные ассоциации таблиц для вставки, обновления и удаления.
3. DateUtil — добавлено определение формата даты, расчёт возраста.
4. Создание таблиц с помощью Excel поддерживает больше баз данных.
5. Предоставляет BeeSimpleDataSource по умолчанию, поддерживает конфигурацию нескольких источников данных в bee.properties (без использования Spring boot), также может быть запущен самостоятельно.
6. Javabean поддерживает генерацию аннотаций Swagger.
7. MongodbObjSQLRichExt — улучшенный перехват и управление контекстной информацией.
8. Mongodb — печать журналов, при запросе всех полей по умолчанию не отображаются поля, которые нужно запросить; можно настроить через bee.osql.showMongoSelectAllFields, чтобы контролировать, показывать ли их.
9. GridFs — поддержка SELECT запросов, при запросах сущностей автоматически связываются соответствующие файлы (MongoDB), файлы GridFs поддерживают тип byte[].
10. Исправлен баг:
* CurrencyArithmetic — переменная bug.
* CacheSuidStruct — таблица имён не различает регистр.
* SQLite AS — синтаксис отсутствует пробел.
* Многотабличный запрос с использованием функций не может заполнить соответствующее поле. 5. Поддерживается прямой запуск в методе main, можно считывать информацию из application.properties SpringBoot, включая bee.db.url и другие данные для подключения к базе данных.
При обновлении dataSource очищается кэш.
Исправлена ошибка: у двух конфигурационных параметров (notSupportUnionQuery, executorSize) не было префикса sharding_.
V2.2 (2024.1.1 · LTS версия)
Поддержка наследования для сущностей Javabean (конфигурация bee.osql.openEntityCanExtend = true).
Улучшена связь между пакетной вставкой и транзакциями.
В версии 2.2 и ранее при вызове пакетной вставки commit выполнялся после каждой партии, но в версии 2.2 commit выполняется только один раз внутри транзакции, а содержимое пакетной вставки больше не фиксируется, это контролируется транзакцией.
Исправлены ошибки:
Если параметр равен null при использовании Condition с Op.in, то возникает исключение.
Ошибки, связанные с контекстом, при пакетной вставке с шардингом.
Проблема с контекстом решается только при разделении на библиотеки.
Контекст основного потока должен быть очищен при шардинге.
Ошибка несовместимости InheritableThreadLocal и parallelStream(), parallelStream() можно использовать, когда нет шардинга, но не рекомендуется при шардинге.
V2.4.0 (2024. Национальный праздник · LTS версия)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )