# bee **Repository Path**: wxl_279414347/bee ## Basic Information - **Project Name**: bee - **Description**: Bee是开发速度快、简单、自动高效且具有人工智能(AI)特性的Java ORM框架!它的编码复杂度是O(1),不管操作多少张表,都可以不需要写额外的Dao代码。Bee同时支持面向对象和自定义SQL两种方式,简单场景和复杂场景都可以应用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/automvc/bee - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 136 - **Created**: 2020-10-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Bee ========= **Easy for Stronger.** **Bee** is an ORM framework. **Bee** is an easy and high efficiency ORM framework. **Coding Complexity is O(1),it means that Bee will do the Dao for you**. **You don't need to write the Dao by yourself anymore**. **Good Feature:** AI, Timesaving/Tasteful, Easy, Automatic (**AiTeaSoft Style**) **Bee** see: https://gitee.com/automvc/bee or: https://github.com/automvc/bee ## [中文介绍](../../../bee/blob/master/README_CN.md) [点击链接可查看中文介绍](../../../bee/blob/master/README_CN.md) ## Requirement jdk1.7+ ## Feature & Function: **Support many Database**(MySQL,MariaDB,Oracle,H2,SQLite,PostgreSQL and so on) and easy extend。 **V1.0** Single entity(table) Suid (select,update,insert,delete) object-oriented operation. Automatically generate the Javabean via DB table or view. Convention-over-configuration:Javabean no annotation,no xml. Automatically mapping the table column and the Javabean field. Javabean support the raw type:int,double,and so on. PreparedStatement support. Procedure support. Native SQL support. Batch operate support. Transaction support. Automatic filter the null and empty field for default. MAX,MIN,SUM,AVG,COUNT support. Order by,Paging. Select some field. Dynamic & random combination of query conditions,no need to prepare the interface in advance; new query requirements, no need to change the query interface. All Suid(select,update,insert,delete) operation use the same Bee interface,no longer need any new dao interface. Users/Developer only need to pay attention to the Bee interface. ...... **V1.8** **Add Distributed Feature:** 1.Add multi-DataSource support(Write/Read, only Split Database). add multi-DataSource no need change the Java code. add the route interface of multi-Datasource. add multi-DataSource route. add multi-DataSource config. support refresh multi-DataSource config information. 2.Generate global unique id number in distributed environment. 3.Generate Serial Unique id number in one workid of distributed environment. Independent clock,workerid can config and easily expand. Implement algorithms:SerialUniqueId,OneTimeSnowflakeId,PearFlowerId. Support GenId Factory,and can config the id generator. 4.Gen Serial Unique Id for all Table's Long Id field as primary key. **Enhance Function:** 5.The same database sub table support, dynamic table name mapping support. Entity and any table name mapping support. Suid add one method: public Suid setDynamicParameter(String para,String value); add 2 annotation:@Table,@Entity. 6.Use 'for update' lock some select record(s). public Condition forUpdate() 7.Added support for advanced update set, Complex query and multi table query support only project some fields. Add 5 methods in Condition 8.Support show type of data in sql and show ExecutableSql: bee.osql.showSQL.showType=false bee.osql.showSQL.showExecutableSql=false 9.Add one method in SuidRich Add three methods in PreparedSql 10.Oracle DATE column mapping to Timestamp,fix the problem:miss the hour,minute,second in Oracle DATE column. 11.GenFiles support upper case first letter,eg: #{entityName?up1}. **Fix bug:** 12.fixed cache bug:genkey;clear cache for batch insert. fixed bug:parse the json has extra comma. fixed null bug about:PreparedSql's method select(String sql,Object preValues[]). **v1.8.15**(2020-10-01 3Festivals) 1.Enhance support for H2,SQLite,PostgreSQL. 2.Enhance page funtion,paging para also use placeholder. 3.Can be used in zero configuration. 4.Enhance PearFlowerId algorithm that it will produce even number with continuous mantissa of 0 when is often not used (there are no such defect in SerialUniqueId and OneTimeSnowflakeId). 5.Enhance Log function. 6.Fixed json transform bug. **v1.8.99**(2020-10-25 Double Ninth Festival) 1.Support lower and upper case option for SQL KeyWord. 2.Cache sql key support MD5 string. 3.Optimize the way of setting DB information with Honeyconfig. 4.Fix bug about checkSelectField. ## [Function Detail](../../../bee/blob/master/Changed_Log.md) [click for: Function Detail](../../../bee/blob/master/Changed_Log.md) ## ORM Compare [ORM-Compare (More Detail)](../../../orm-compare) Test Evn : Local windows. DB: MySQL (Version 5.6.24). Test point: Batch Insert;Paging Select; Transaction(update and select).
Batch Insert(unit: ms) |
|||||
| 5k | 1w | 2w | 5w | 10w | |
| Bee | 529.00 | 458.33 | 550.00 | 1315.67 | 4056.67 |
| MyBatis | 1193 | 713 | 1292.67 | 1824.33 | Exception |
Paging Select(unit: ms) |
|||||
| 20 | 50 | 100 | 200 | 500 | |
| Bee | 17.33 | 58.67 | 52.33 | 38.33 | 57.33 |
| MyBatis | 314.33 | 446.00 | 1546.00 | 2294.33 | 6216.67 |
Transaction(update and select) (unit: ms) |
|||||
| 20 | 50 | 100 | 200 | 500 | |
| Bee | 1089.00 | 70.00 | 84.00 | 161.33 | 31509.33 |
| MyBatis | 1144 | 35 | 79.67 | 146.00 | 32155.33 |