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

OSCHINA-MIRROR/automvc-bee

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

Строка равна нулю (CustomSql).
Исправить ошибку, связанную с кешем.
Исправление ошибки в SelectImpl.
Устранение ошибки для стиля условия внутреннего соединения.
Добавить интерфейс FileCreator.
V1.7.2
Поддержка установки типа перевода по умолчанию через конфигурацию.
Улучшение функции BeeFactory.
Настройка формата журнала SQL.
Поддержка настройки формата даты через конфигурацию.
Переместить тест/пример в новый проект bee-exam.
Добавить класс FileLogger для записи логов в файл.
Управление уровнем печати логов через конфигурацию.
Улучшить тестовый пример/пример.
Генерация файла по шаблону.
Добавление метода delete(T entity, Condition condition) в Suid.
Запрет на удаление всех записей в одной таблице объектно-ориентированным способом.
SuidRich добавляет 2 метода:
updateBy(T entity,String whereFields,Condition condition)
update(T entity,String updateFields,Condition condition)
добавить поддержку nocache.
добавить методы setAdd и setMultiply в Condition для установки значения в обновлении SQL.

V1.8
Добавить распределённую функцию:
1.Добавить поддержку multi-DataSource (только разделение базы данных).
Много источников данных не требует изменения кода Java.
Добавить маршрут интерфейса для multi-Datasource.
Добавить маршрутизацию для multi-DataSource.
Добавить конфигурацию для multi-DataSource.
Поддерживать обновление информации о конфигурации multi-DataSource.
2.Генерировать глобальный уникальный номер в распределённой среде.
3.Генерировать серийный уникальный номер в одном рабочем процессе распределённой среды.
Независимые часы, workerid можно настроить и легко расширить.
Реализовать алгоритмы: SerialUniqueId, OneTimeSnowflakeId, PearFlowerId.
Поддержка GenId Factory, возможность настройки генератора идентификаторов.
4.Генерировать серийные уникальные идентификаторы для всех полей Long Id в качестве первичного ключа.
Улучшения функций:
5.Поддержка подтаблиц одной базы данных, поддержка динамического сопоставления имён таблиц.
Сопоставление сущностей и любых имён таблиц.
В Suid добавлен один метод:
public Suid setDynamicParameter(String para,String value);
добавлены 2 аннотации: @Table, @Entity.
6.Использовать блокировку «for update» для некоторых выбранных записей.
public Condition forUpdate()
7.Добавлена поддержка расширенного обновления,
Сложный запрос и многотабличный запрос поддерживают только выборку некоторых полей.
Добавлено 5 методов в Condition:
public Condition setAdd(String field, String fieldName)
public Condition setMultiply(String field, String fieldName)
public Condition set(String fieldNmae, Number num)
public Condition set(String fieldNmae, String value)
public Condition selectField(String fieldList)
8.Показывать тип данных в SQL и показывать ExecutableSql:
bee.osql.showSQL.showType=false
bee.osql.showSQL.showExecutableSql=false
9.Добавлен один метод в SuidRich:
public <T> int update(T entity,Condition condition);
Добавлены три метода в PreparedSql:
public String selectJson(String sqlStr);
public List<String[]> select(String sql);
public String selectFun(String sql);
10.Столбец Oracle DATE сопоставляется с Timestamp, исправлена проблема: потеря часа, минуты, секунды в столбце Oracle DATE.
11.GenFiles поддерживает заглавные буквы, например: #{entityName?up1}.
Исправления ошибок:
12.Исправлена ошибка кеша: genkey; очистка кеша для пакетной вставки.
исправлена ошибка: анализ json содержит лишнюю запятую.
исправлена нулевая ошибка: метод PreparedSql's select(String sql,Object preValues[]).
исправлена ошибка, связанная с множественной таблицей Oracle.

v1.8.15(2020-10-01 3Festivals)
1.Улучшена поддержка H2, SQLite, PostgreSQL.
2.Улучшена функция страницы, параметры пейджинга также используют заполнитель.
3.Может использоваться без настройки.
4.Улучшен алгоритм PearFlowerId, который будет генерировать чётное число с непрерывной мантиссой 0, когда он часто не используется (в SerialUniqueId и OneTimeSnowflakeId такого дефекта нет).
5.Улучшена функция журнала.
6.Исправлена ошибка преобразования json.

v1.8.99(2020-10-25 Double Ninth Festival)
1.Поддержка нижнего и верхнего регистра для SQL KeyWord.
2.Поддержка MD5 строки для ключа кэша SQL.
3.Оптимизация способа настройки информации БД с помощью Honeyconfig.
4.Исправлена ошибка checkSelectField.

v1.8.15(2020-10-01 3Festivals)
1.Улучшенная поддержка H2,SQLite,PostgreSQL.
2.Улучшение функции страницы, использование параметров пейджинга v1.8.99 (2020-10-25 Double Ninth Festival)

  1. Поддержка опции нижнего и верхнего регистра для ключевого слова SQL.
  2. Кэширование поддержки строки MD5 в ключе SQL.
  3. Оптимизация способа настройки информации БД с помощью Honeyconfig.
  4. Исправление ошибки checkSelectField.

V1.9
SuidRich добавляет новые методы поддержки списка параметров в пакетной вставке.
Улучшение функции 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 поддерживает like: field1=field2
Добавлен метод Condition: selectDistinctField, поддерживает distinct как select distinct(userid) из table_name
MapSuid, не требуется Javabean, используйте карту для установки информации о сущности, которая должна быть преобразована, и управляйте базой данных (выберите/вставьте/удалите запись).
Поддержка чтения Excel (*.xls, *.xlsx), преобразование данных в List<String[]> и импорт их в базу данных (bee-ext).
Дополнительная поддержка соединения таблиц при выборе.
Одно и то же соединение для некоторых операций ORM.
Поддержка различных типов muli-Ds одновременно.
IncludeType поддерживает исключение «».
Добавьте аннотацию Ignore, игнорируйте поле, которое не нужно передавать.
Поддержите определение начального и конечного маркера при генерации файла по шаблону.
Улучшено управление подключением к БД.
Повышено качество кода.
Усовершенствовано цепное кодирование: Select, Update.
Скорректирована информация о конфигурации bee.properties, HoneyConfig.
Интеграция Bee с Spring Boot, предоставление bee-spring-boot-starter.
Поддержка использования Javabean для создания таблицы БД.
Исправлена проблема, когда поля с одинаковыми именами путались в некоторых базах данных (oracle) при многотабличном пейджинговом запросе.
Исправлено: обновление по умолчанию выполняется по id, но если поле id или id равно нулю, возникнет исключение.
Исправлено: ошибка кэша.
Исправлено: о getRangeId(int sizeOfIds) GenId.
Исправлено: в jdk 11, LoggerFactory использует log4j2, возникает исключение.
Когда сущность является представлением (не таблицей), рекомендуется поместить её в bee.osql.cache.never (bee.properties).

V1.9.8 (2021 Mid-Autumn Day)
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 для объединения большего количества таблиц;
поддержка объединения двух вложенных таблиц (внутреннее объединение, правое объединение, левое объединение);
поддержка одной вложенной таблицы, имеющей другую вложенную таблицу;
если все поля равны нулю, поле вложенной таблицы будет установлено равным нулю;
аннотация JoinTable добавляет метод: subClass() для поля типа List
Condition добавляет метод:
public Condition opOn(String field, Op Op, Object value);

MapSuid (соответствующий таблице Javabean не требуется):
добавляет метод обновления, подсчёта, постраничного выбора, добавления и корректировки вставки и insertAndReturnId.
добавить метод putNew(String fieldName, Object newValue), putNew(Map map), put(Map map), поддержку страницы в MapSql.
Добавить метод подсчёта (MapSql mapSql), обновить (MapSql mapSql), вставитьAndReturnId (MapSql mapSql), поддержать страницу в MapSuid.
Добавить метод putNew (String fieldName, объект В запросе представлен текст технической направленности из области разработки и тестирования программного обеспечения. Основной язык текста запроса — английский.

В запросе описаны различные изменения и улучшения в системе, включая добавление новых методов и функций, исправление ошибок и улучшение существующих возможностей. Также упоминается о поддержке различных типов баз данных и улучшении многопоточной безопасности.

V1.11

  • V1.11.0.1.1:

    • SuidRich: добавлен метод public <T> long insertAndReturnId(T entity, IncludeType includeType).
    • PreparedSql: добавлен метод public <T> List<T> select(String sql, T returnType).
    • Добавлена аннотация PrimaryKey.
    • MapSqlKey поддерживает PrimaryKey.
    • BF — это сокращение от BeeFactoryHelper.
    • Улучшение: добавлена информация о конфигурации с методом trim() для чтения/записи из нескольких источников данных.
    • Исправлена ошибка с переносом имён.
  • V1.11.0.2.1: добавлены функции Interceptor и multi-tenant.

  • V1.11.0.2.4: добавлена поддержка двух уровней кэша ext и Redis.

  • V1.11.0.2.15: добавлены аннотации Datetime, Createtime, Updatetime и JustFetch.

  • V1.11.0.2.20: оптимизировано использование разных типов баз данных одновременно.

  • V1.11.0.3.8: добавлен SetParaTypeConvert для преобразования параметров PreparedStatement.

  • V1.11.0.3.12: Ddl.java использует Javabean для создания таблиц, поддерживает сопоставление между типами полей Java и DB, а также поддерживает настройку сопоставления java_dbtype.

Это лишь краткое изложение изменений и улучшений, представленных в запросе. Для более подробного понимания необходимо обратиться к исходному тексту на английском языке. Версия 2.0.0.1001 (2022, Национальный день)

Добавление функции сегментирования:

  1. Объектно-ориентированное сегментирование.
  2. Поддержка сегментирования Suid, SuidRich, select, modify.
  3. Сегментирование для MoreTable select.
  4. Пакетное сегментирование insert.
  5. Сегментирование для MAX, MIN, COUNT, SUM, AVG select.
  6. Сегментирование при постраничном просмотре и сортировке.
  7. Поддержка следующих типов сегментирования: разделение баз данных и таблиц, только разделение баз данных, только разделение таблиц.
  8. Поддержка различных типов маршрутизации сегментирования: одна база данных и одна таблица, одна база данных и несколько таблиц, несколько баз данных и несколько таблиц, все базы данных и все таблицы, указание только таблиц или только баз данных.
  9. Возможность принудительного указания маршрута разделения для текущей операции через подсказку (указание ds и таблицы).
  10. Поддержка широковещательной таблицы сегментирования.
  11. Простая поддержка конфигурации сегментирования.
  12. Снижение использования памяти при потоковом выборе и сокращении запросов.

Версия 2.0.1.1 (2023, Новый год)

  1. Функция ORM для MongoDB.
  2. Функция сегментирования для MongoDB.
  3. Изменение положения параметра в некоторых методах SuidRich и его замена на параметр переменной длины.
  4. Добавление метода SuidRich для выбора первой записи: selectFirst(T entity, Condition condition).

Версия 2.0.1.22 (2023, Весенний фестиваль)

  1. Добавление поддержки сегментирования groupBy (включая JDBC и MongoDB).
  2. Добавление поддержки MS Access.
  3. Поддержка генерации JavaBean для MongoDB, включая многоуровневую структуру встроенных документов.
  4. Добавление SuidRichExt с поддержкой указания полей сущности без жёсткого кодирования.
  5. Широковещательный запрос к таблице (случайный выбор одного dataSource) и широковещательное изменение таблицы (выполняется на всех узлах).
  6. DDL: createTable для сегментирования.

Версия 2.0.2.5 (2023, Фестиваль фонарей)

  1. Обновление внутренней реализации update(T, T).
  2. Поддержка десенсибилизации без необходимости знать конечную позицию @Desensitize(start=0, size=-1, mask="*").
  3. Поддержка разделения: =, in, between. Где in поддерживает Number, List и Set. Не участвует в разделении: not in, not between, >=, <=.
  4. Улучшение HintManager: рекомендуется указывать как dataSourceName, так и tableName или хотя бы tableName. HintManager можно использовать ярлык HM.
  5. Для улучшения HintManager достаточно указать dataSourceName или tableName. Рекомендуется указывать оба или хотя бы tableName. Можно использовать ярлык HM для HintManager.

Версия 2.0.2.14 (2023, День святого Валентина)

Улучшение журнала ORM для MongoDB. Улучшение передачи результатов JSON String. Исправление ошибки insertBatch в PreparedSql.

Версия 2.1

Версия 2.1.2.21 (Dragon Fly)

  1. Поддержка файлов конфигурации приложения Bee + SpringBoot для нескольких источников данных.
  2. Отсутствие зависимости от MongoDB при использовании.
  3. Исправлено: ObjSQLRichService + Spring генерирует более одного экземпляра ошибки.
  4. Подавление проверки Log реализует msg.
  5. Совместимость с избыточными скобками в выражениях поиска.

Версия 2.1.2.28 (Eleven)

  1. Поддержка конфигурации нескольких источников данных в bee.properties (этот тип не требует XML или кода Java).
  2. Исправлено: пакетная вставка не может установить имя источника данных.
  3. Преобразование типа даты результата запроса MongoDB.
  4. Только MongoDB в качестве нескольких источников данных: можно установить bee.dosql.multiDS.justMongodb=true, тогда BF.getSuid() может возвращать экземпляр Suid для MongoDB.
  5. Поддержка создания объектов классов реализации Spring для MongoDB. // MongoDB
    // @Resource(name = "mongodbObjSQLRichService")
    // ObjSQLRichService objSQLRichService;
    // использование MongoDB type1
    // @Autowired
    // @Qualifier(value = "mongoSuidRich")
    // SuidRich suidRich; // ok
    // использование MongoDB type2
    // @Resource(name = "mongoSuidRich")
    // SuidRich suidRich; // ok
  6. Хранилище файлов GridFS для MongoDB.

Версия 2.1.3.6 (Awakening & Growing)

  1. Регистрация идентификатора файла с помощью аннотации GridFs для MongoDB.
  2. Исправлено: скачок граничного значения OneTimeSnowflakeId.getRangeId. Последовательность и сегмент максимальны, необходимо сбросить сегмент до 0
  1. Исправлена ошибка: некорректное значение границы PearFlowerId.getRangeId при переходе.

V2.1.3.12 (2023 · День посадки деревьев)

  1. Поддержка однострочного кода генерации Javabean для более чем одной базы данных, соответствующего всем таблицам всей базы данных: new GenBean().genAllBeanFile();

  2. Увеличенная поддержка пула соединений DataSource, мульти-DataSource конфигурации Dbcp2, Tomcat, C3P0.

  3. Улучшение аннотации GridFs для сохранения файлов, имён файлов, метаданных и т. д.

  4. Изменение структуры Cache tableNameList на Vector.

  5. Поддержка GenBean аннотаций Lombok:@Setter,@Getter,@Data.

V2.1.3.21 (2023 · Весеннее равноденствие)

  1. Предоставление двух расширенных интерфейсов: SuidRichExt, MongoSuidRichExt и класса ввода BFX.

  2. Улучшенный запрос метаданных файла Mongodb GridFsFile.

  3. Исправлена ошибка: преобразование поля сортировки при потоковой передаче шардинга select.

V2.1.4.5 (2023 · Честь)

  1. Поддержка Mongodb Geo insert,query (включая шардинг).

  2. Поддержка создания индекса Mongodb.

  3. Поддержка транзакций Mongodb.

V2.1.4.20 (2023 · Зерновой дождь)

  1. Определение плагина Mongodb bean.

V2.1.5.1 (2023 · Международный день труда)

  1. Поддержка печати необработанных командных оболочек Mongodb ORM в журнале.

  2. Возможность запуска необработанной командной оболочки MongodbRawSql.

  3. Пакетная вставка в таблицу вещания (модель шардинга).

  4. Поддержка большего количества реализаций пейджинга по умолчанию для баз данных, включая Cubrid,HSQL,Derby,Firebird и так далее.

  5. Поддержка определения дополнительных свойств элемента BeeMongodbSimpleDataSource.

  6. Поддержка инструмента быстрого анализа Json.

  7. Исправлена ошибка: пакетная вставка не может генерировать ID.

V2.1.5.20 (2023 · Тысячи слов и тысячи языков)

V1.17.21(2023.06.18 1.17.x LTS версия)

V2.1.6

  1. Добавлен переключатель closeDefaultParaResultRegistry.

  2. Поддержка нового API пакета JAP jakarta.persistence.*.

  3. Обработка исключения ModifyDuplicateException для пакетной вставки.

  4. Закрытие UtilDotDateTypeConvert из-за отсутствия HH:mm:ss.

  5. Исправлены ошибки: обновление значения по умолчанию для элемента конфигурации, NullPointerException для PreparedSql preparedValue, StringUtils.

V2.1.7

  1. Поддержка отображения исполняемого SQL-формата (требуется настройка: bee.osql.showSql.sqlFormat=true).

  2. Случайное время истечения срока действия для второго уровня кэша для решения проблемы лавины кэша.

  3. Создание таблиц DdlViaExcel позволяет создавать таблицы баз данных с использованием информации из файла Excel, с возможностью создания только определённых таблиц.

  4. Поддержка Spring Boot 3.0.8.

  5. Улучшенное управление многопоточными операциями для получения SQLiteDatabase в Android.

V2.1.8 (2023. Праздник середины осени и Национальный день)

  1. Совместимость командной строки spring boot с выбором активного профиля, например: java -jar springbootDemo.jar --spring.profiles.active=dev, что вызовет bee-dev.properties.

  2. Совместимость конфигурации источника данных spring boot, например spring.datasource.url.

  3. Если bee.properties не имеет конфигурации источника данных, он должен использовать конфигурацию единственного источника данных в application.properties spring boot.

  4. Выполнение операций вставки, обновления и удаления для нескольких ассоциаций таблиц.

  5. Добавление проверки формата даты и расчёта возраста в DateUtil.

  6. Исправление ошибки в CurrencyArithmetic переменной.

  7. Игнорирование регистра в имени таблицы в CacheSuidStruct.

  8. Улучшение перехватчика и управления контекстной информацией в MongodbObjSQLRichExt.

  9. Поддержка создания таблиц через Excel для большего количества баз данных.

  10. В журнале Mongodb при запросе всех полей по умолчанию поля для запроса не отображаются. Это можно контролировать с помощью конфигурации bee.osql.showMongoSelectAllFields.

  11. Предоставление стандартного BeeSimpleDataSource, поддерживающего настройку нескольких источников данных в bee.properties (даже без использования spring boot). При использовании Bee отдельно DataSourceBuilderFactory также может запускаться автоматически.

  12. Поддержка генерации аннотаций Swagger для Javabean.

  13. Поддержка выбора типа для MongoDB, GridFs в аннотации GridFs. Поддержка типов файлов byte[]

V2.1.10 (2023.10)

  1. Поддержка SQL без восклицательного знака (!).
  2. Поддержка OceanBase.
  3. Использование doBeforeReturn с finally.
  4. Очистка кеша при изменении карты dataSource.
  5. Поддержка конфигураций с несколькими источниками данных, базы данных поддерживают конфигурации покрытия для нескольких сред.
  6. Поддержка чтения bee.db.url и другой информации из application.properties Springboot при использовании в основном методе.
  7. Исправлена ошибка: два свойства (notSupportUnionQuery, executorSize) не имеют префикса «sharding_».

Основные функции V2.1 (2023.05.20):

  1. Перемещение основных часто используемых интерфейсов, таких как Suid, SuidRich, MoreTable, PreparedSql, MapSuid и др., в пакет org.teasoft.bee.osql.api.
  2. Улучшенная поддержка программирования MVC и Spring RestFul.
  3. Поддержка конфигурации нескольких источников данных в bee.properties (нет необходимости в конфигурации XML или кода Java).
  4. GenBean поддерживает аннотации Lombok: @Setter, @Getter, @Data.
  5. Встроенная поддержка инструмента json fastjson с возможностью использования пользовательского инструмента JSON.
  6. Генерация всех файлов Java bean для всей базы данных одной строкой кода: new GenBean().genAllBeanFile();
  7. Массовая вставка для широковещательной таблицы.
  8. Улучшение функциональности сегментирования.
  9. Полная поддержка MongoDB ORM. 9.1 Поддержка вставки и запросов геопространственной информации в MongoDB (включая сегментированные запросы). 9.2 Различные операции над файлами GridFs с поддержкой аннотаций. 9.3 Прямое выполнение собственных операторов (MongodbRawSql). 9.4 Логирование собственных операторов для объектно-ориентированных операций в MongoDB. 9.5 Поддержка транзакций MongoDB. 9.6 Поддержка создания и удаления индексов в MongoDB. 9.7 Определение компонентов MongoDB beans как подключаемых.
  10. Стандартная поддержка пагинации в других базах данных: MsAccess, Cubrid, HSQL, Derby, Firebird и др.

V2.2 (2024.1.1·LTS)

  1. Сущности Javabean поддерживают наследование (настроить bee.osql.openEntityCanExtend=true).
  2. Усовершенствована связь между пакетной вставкой и транзакцией. 2.2 До версии 2.2 вызов пакетной вставки фиксировался для каждой партии, но в версии 2.2 он был изменён так, чтобы вызываться только один раз в рамках транзакции. Содержание метода пакетной вставки больше не фиксируется, а контролируется транзакцией.
  3. Исправлены ошибки:
    1. При использовании условия Op.in и параметр равен null, генерируется исключение.
    2. Связанная с контекстом ошибка в сегментированной пакетной вставке.
    3. Решены проблемы контекста при работе только с сегментированными базами данных.
    4. В случае сегментирования необходимо очистить контекст основного потока.
    5. Ошибка с InheritableThreadLocal и parallelStream() несовместимы. В версии 2.2, когда режим сегментирования выключен, можно использовать parallelStream(), но при сегментировании не рекомендуется использовать parallelStream().

Опубликовать ( 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