Легко для сильных.
Bee — это ORM-фреймворк.
Bee представляет собой простой и высокоэффективный ORM-фреймворк. Сложность кодирования O(1), это означает, что Bee сделает Dao за вас. Вам больше не нужно писать Dao самостоятельно. Это поможет вам сосредоточиться на разработке бизнес-логики.
Хорошая особенность: ИИ, экономия времени/вкуса, простота, автоматизация (стиль AiTeaSoft).
Хорошие новости: Новейшая версия: Bee V2.4.0 LTS.
Цель сегментирования: в основном прозрачна для разработки и кодирования, с небольшой конфигурацией сегментирования. Быстрый старт: лучший пример сегментирования
Смотрите Bee: https://github.com/automvc/bee bee-ext: https://github.com/automvc/bee-ext
Нажмите на ссылку, чтобы просмотреть введение на китайском языке.
Простота использования:
Автоматически, мощно:
Поддержка программирования SQL с использованием заполнителей для предотвращения атак внедрения.
Не кэшировать, если не указано имя таблицы.
Добавить реализацию по умолчанию для расчёта даты и добавить пример пользовательской реализации сегментирования.
Поддержка ORM-запросов ElasticSearch (7.x).
Поддержка PreparedSql для улучшения относительного кэша.
Поддержка генерации Javabean для MongoDB с комментариями.
В классе шаблона метода сегментирования используется finally для обработки повторного использования контекста.
MapSql (MapSuid) поддерживает использование Condition для реализации более сложных условий where и обновления значений с помощью updateSet.
Добавить методы: public void where(Condition condition); public void updateSet(Condition condition).
Добавить ChainSqlFactory.
Добавить сборщик результатов выбора.
Добавить методы MoreTable: selectWithFun, count.
Добавить метод MoreTable List<String[]> selectString(T entity, Condition condition).
Улучшить обновление MoreTable.
Поддержка конфигурации сегментирования в стиле свойств.
Поддержка MoreTable selectJson.
Поддержка GenBean java.time.LocalDateTime.
Исправлена ошибка: базовое значение GenConfig по умолчанию поддерживает Linux env.
Поддержка Suid java.time.LocalDateTime типа.
TO_DATE для Oracle фильтрует запись в SQL, где часть.
Исправлена ошибка: при однократной вставке MoreTable автоматически устанавливается значение перед doBeforePasreEntity. InsertAndReturnId в режиме сегментирования необходимо установить InitIdByAuto > doBeforePasreEntity. InsertAndReturnId: переданный pkName должен быть преобразован в имя столбца.
Улучшение: При вставке нескольких таблиц, если нет дочерних таблиц, используется вставка основной таблицы. В генерации файлов добавлена функция резервного копирования существующих файлов. TranHandler выбрасывает полученное исключение на верхний уровень.
Поддержка pgsql json/jsonb, но в части where требуется написать специальный SQL pgsql.
Улучшена функция сегментирования.
нажмите для: Подробная информация о функциях
NoSQL: 14. MongoDB. 15. ElasticSearch. 16. Cassandra.
Мобильная среда (база данных): 17. Android. 18. Harmony.
Сравнение ORM (более подробно)
Тестовая среда: локальные окна. БД: MySQL (версия 5.6.24). Тестовый пункт: пакетная вставка; выборка страниц; транзакция (обновление и выбор). Быстрый старт: Bee
<dependency>
<groupId>org.teasoft</groupId>
<artifactId>bee-all</artifactId>
<version>2.4.0</version>
</dependency>
<!-- Mysql 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'
1.2 Конечно, вы можете скачать файл jar напрямую.
Создайте базу данных и таблицу. Например: создайте одну базу данных, по умолчанию имя — bee. Создайте таблицы и инициализируйте данные, запустив файл init-data(user-orders)-mysql.sql (это скрипт MySQL SQL).
Обновите конфигурацию базы данных в файле bee.properties, если необходимо. Если файла bee.properties нет, вы можете создать его самостоятельно.
#bee.databaseName=MySQL bee.db.dbName=MySQL bee.db.driverName = com.mysql.jdbc.Driver #bee.db.url =jdbc:mysql://localhost:3306/bee?characterEncoding=UTF-8 bee.db.url =jdbc:mysql://127.0.0.1:3306/bee?characterEncoding=UTF-8&useSSL=false bee.db.username = root bee.db.password =
#print log bee.osql.showSQL=true bee.osql.showSql.showType=true bee.osql.showSql.showExecutableSql=true # с версии 2.1.7 sqlFormat=true будет форматировать исполняемый SQL bee.osql.showSql.sqlFormat=false
#log4j>slf4j>log4j2>androidLog>harmonyLog>systemLogger>fileLogger>noLogging>jdkLog>commonsLog bee.osql.loggerType=systemLogger
Используйте Javabean Orders, как показано ниже: Orders(Javabean) Auto Genernate Javabean
Запустите следующий код Java:
import java.math.BigDecimal;
import java.util.List;
import org.teasoft.bee.osql.BeeException;
import org.teasoft.honey.osql.core.BeeFactoryHelper;
import org.teasoft.honey.osql.core.Logger;
/**
* @author Kingstar
* @since 1.0
*/
public class SuidExamEN {
public static void main(String[] args) {
try {
Suid suid = BeeFactoryHelper.getSuid();
Orders orders1 = new Orders(); // need gen the Javabean
orders1.setId(100001L);
orders1.setName("Bee(ORM Framework)");
List<Orders> list1 = suid.select(orders1); // 1. select
for (int i = 0; i < list1.size(); i++) {
Logger.info(list1.get(i).toString());
}
orders1.setName("Bee(ORM Framework)");
int updateNum = suid.update(orders1); //2. update
Logger.info("update record:" + updateNum);
Orders orders2 = new Orders();
orders2.setUserid("bee");
orders2.setName("Bee(ORM Framework)");
orders2.setTotal(new BigDecimal("91.99"));
orders2.setRemark(""); // empty String test
int insertNum = suid.insert(orders2); // 3. insert
Logger.info("insert record:" + insertNum);
int deleteNum = suid.delete(orders2); // 4. delete
Logger.info("delete record:" + deleteNum);
} catch (BeeException e) {
Logger.error("In SuidExamEN (BeeException):" + e.getMessage());
//e.printStackTrace();
} catch (Exception e) {
Logger.error("In SuidExamEN (Exception):" + e.getMessage());
//e.printStackTrace();
}
}
}
// notice: this is just a simple sample. Bee suport transaction,paging,complicate select,slect json,and so on.
``` **Быстрый старт: Bee + Android**
## Использование Bee в среде Android
### 1. bee.properties
```properties
bee.db.isAndroid=true
bee.db.androidDbName=account.db
bee.db.androidDbVersion=1
bee.osql.loggerType=androidLog
# включить преобразование типа поля результата запроса, и будет поддерживаться больше типов
bee.osql.openFieldTypeHandler=true
# Если вам разрешено удалять и обновлять всю таблицу, вам нужно удалить комментарии
#bee.osql.notDeleteWholeRecords=false
#bee.osql.notUpdateWholeRecords=false
public class YourAppCreateAndUpgrade implements CreateAndUpgrade {
@Override
public void onCreate() {
// Вы можете создавать таблицы объектно-ориентированным способом
Ddl.createTable(new Orders(), false);
Ddl.createTable(new TestUser(), false);
}
@Override
public void onUpgrade(int oldVersion, int newVersion) {
if (newVersion == 2) {
Ddl.createTable(new LeafAlloc(), true);
Log.i("onUpgrade", "Ты в ситуации без удаления, онлайн обновление до версии:" + newVersion);
}
}
}
Настройте android:name на BeeApplication в файле AndroidManifest.xml.
package com.aiteasoft.util;
import org.teasoft.bee.android.CreateAndUpgradeRegistry;
import org.teasoft.beex.android.ApplicationRegistry;
public class BeeApplication extends Application {
private static Context context;
@Override
public void onCreate() {
ApplicationRegistry.register(this);//зарегистрировать контекст
CreateAndUpgradeRegistry.register(YourAppCreateAndUpgrade.class);
}
}
// И в AndroidManifest.xml, настроить android:name как BeeApplication
<application
android:icon="@drawable/appicon"
android:label="@string/app_name"
android:name="com.aiteasoft.util.BeeApplication"
>
Suid suid = BF.getSuid();
List<Orders> list = suid.select(new Orders());
Сравнение производительности приложения Bee в разработке приложений
Работа с 10 000 записями, сравнение времени использования следующее.
Работа с 10000 записей (единица измерения: мс) |
|||
вставка | запрос | удаление | |
greenDao (Android) | 104666 | 600 | 47 |
Bee (Android 8.1) | 747 | 184 | 25 |
Bee (HarmonyOS P40 Pro симулятор) | 339 | 143 | 2 |
V2.1
Пусть Java программирует быстрее, чем php и Rails.
Более быстрая разработка новых комбинаций для Java Web:
Bee+Spring+SpringMVC
Более быстрая разработка новых комбинаций для микросервисов Spring Cloud:
Bee + Spring Boot
Платформа генерации кода для быстрого создания приложений (https://www.kmcoding.com) — сделано в Китае компанией AiTea Soft!
Генерировать код автоматически
...
Демонстрация приложения: Демонстрация приложения HarmonyOS с ORM Bee:
Другие документы:
API-DOC
В исходном коде API-V1.17 (новейшая версия) содержатся версии bee-1.17 на китайском и английском языках, исходный код bee-1..17 на китайском языке.
Техническая поддержка
Использование Enterprise Edition, профессиональная техническая поддержка и консультации по решениям предоставляются следующими компаниями:
Шэньчжэньская компания программного обеспечения «Кайфэн»
(предприятия, желающие присоединиться, пожалуйста, свяжитесь с нами!)
Контакты и приветствия:
Если у вас есть какие-либо проблемы с bee, пожалуйста, дайте мне знать! Большое спасибо!
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )