同步操作将从 automvc/bee 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
**2022年5月1日(劳动节)**前登记的企业用户,可获得专业的生产环境使用帮助,为你的系统保驾护航、提高性能;
个人用户登记后入群,可获得个性化的使用咨询!
登记地址:
https://gitee.com/automvc/bee/issues/I3PIUJ
https://github.com/automvc/bee/issues/43
完成登记的伙伴,请加QQ群(992650213),找群主领资料!
Bee,互联网新时代的Java ORM框架,更快、更简单、更自动,开发速度快,运行快,更智能!
Bee,一个简单,易用,功能强大(编码少、开发速度快,运行快)的 JAVA ORM 框架。
Bee简单易用:单表操作、多表关联操作,可以不用写sql,极少语句就可以完成SQL操作;概念简单,10分钟即可入门。
Bee功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化;具有分布式特性。高级要求,还可以方便自定义SQL语句。运行速度接近直接用JDBC的速度。
如果说Mybatis在Hibernate之后不是重复造轮子,那Bee在Hibernate和Mybatis之后也不会是重复造轮子!
择其优点,避其缺点,此外,还加有自己的优点!
Bee 是一个具有人工智能(AI)特性,省时/优雅、简易、自动( AiTea: Timesaving/Tasteful, Easy, Automatic) 的ORM软件框架(AiTeaSoft)(IT-->AiTea 的思维转变!)。
Bee是一种更接近SQL语言思维的ORM框架,
一种开发速度和开发成本都不比Php,Ruby on Rail差的Java ORM框架,
而且它的编码复杂度是O(1),即用了Bee,无论多少个表,你都可以不用另外再写dao代码;让你可以更专注业务逻辑的开发。
Bee 网址:
https://github.com/automvc/bee
Bee在gitee 的网址:
https://gitee.com/automvc/bee
jdk1.7+
Bee概念简单(10分钟即可入门)、功能强大。
Bee 简化了与DB交互的编码工作量.连接,事务都可以由Bee框架负责管理。
V1.11
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 support PrimaryKey
可用BF代替BeeFactoryHelper加快输入
增强:读写模式配置信息去除空格
fix a bug for naming transfer
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(荣耀)
multi-DS同时使用不同类型DB优化
支持同时使用多种数据库(如同时使用Mysql,Oracle,SQL Server)
PreparedSql(自定义sql),MapSuid:拦截器,多数据源支持
Suid,PreparedSql,MapSuid支持设置数据源名称,获取拦截器链
Suid,PreparedSql,MapSuid,MoreTable增加方法:setDataSourceName,getDataSourceName,getInterceptorChain
增加注解:
AnnotationHandler,AutoSetString自动设置字符值
Desensitize,敏感信息模糊处理
ReplaceInto,MySQL replace into转换
MultiTenancy多租户
BeforeReturnAnnotationHandler,AbstractDictI18nDefaultHandler
Dict字典转化
DictI18n多语言国际化字典转化
V1.11.0.2.28 (Special Day)
增加ShardingStruct为分库分表作准备
Column列名与属性名映射扩展支持
支持自定义TypeHandler,处理查询的ResultSet结果
PreparedSql自定义sql支持多表查询,返回多表关联Javabean结构数据
fixed bug:
多表查询同一个实体自我关联查询禁止自我多次循环
V1.11.0.3.8 (Lady First)
增加SetParaTypeConvert转化PreparedStatement参数.
Javabean使用java.util.Date类型,进行SUID作兼容处理.
SQLite获取Timestamp结果作转化处理.
实体属性是Javabean与DB表Json类型字段在参数设置与查询结果时自动转换(使用Json注解自定义实现).
V1.11.0.3.12 (植树节版)
Ddl.java使用Javabean创建表,支持追加java与db字段类型映射,支持设置某个DB的java_dbtype类型映射.
Ddl.java兼容原生char类型,兼容java.util.Date.
PreparedSql自定义sql支持批量插入.
支持在Suid等对象设置命名转换器.
增加DbFeature方言注册器,自定义实现不同DB方言更加易用.
支持Cassandra.
showExecutableSql添加List,Set,Map,UUID支持.
V1.11.0.3.20 (春分)
自定义动态SQL标签,@in,@toIsNULL1,@toIsNULL2,<if isNotNull>,<if isNotBlank>.
动态sql,将list转为像in (1,2,3)的语句,不需要foreach,批量插入也不需要foreach.
测试环境: Windows.
数据库: MySQL (Version 5.6.24).
测试点: 批量插入;分页查询;事务(update and select).
批量插入(单位: 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 |
分页查询(单位: 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 |
事务(update and select) (单位: 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 |
Bee需要的文件
orm\compare\bee\service\BeeOrdersService.java
Mybatis需要的文件(对一个表的操作,就会比Bee多三个dao相关文件)
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
公共都需要的有,Javabean和Service接口:
Orders.java
OrdersService.java
用Bee无需用户再写Dao代码,一个表少三个Dao文件,100个表就少300个Dao文件.
<dependency>
<groupId>org.teasoft</groupId>
<artifactId>bee</artifactId>
<version>1.9.8</version>
</dependency>
<dependency>
<groupId>org.teasoft</groupId>
<artifactId>honey</artifactId>
<version>1.9.8</version>
</dependency>
<!--for log framework,Excel(poi) -->
<dependency>
<groupId>org.teasoft</groupId>
<artifactId>bee-ext</artifactId>
<version>1.9.8</version>
</dependency>
举例如下:
创建一个数据库,默认名称为bee.
可以用init-data(user-orders)-mysql.sql脚本创建表和插入初始化数据.
注:如果还没有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 =
import java.math.BigDecimal;
import java.util.List;
import org.teasoft.bee.osql.Suid;
import org.teasoft.honey.osql.core.BeeFactoryHelper;
/**
* 查,改,增,删 Suid (select,update,insert,delete)实例
* @author Kingstar
* @since 1.0
*/
public class SuidExam {
public static void main(String[] args) {
Suid suid=BeeFactoryHelper.getSuid();
//需要先生成相应的Javabean
Orders orders1=new Orders();
orders1.setId(100001L);
orders1.setName("Bee(ORM Framework)");
//1:select查询实例
//默认不处理null和空字符串.不用再写一堆的判断;其它有值的字段全部自动作为过滤条件
List<Orders> list1 =suid.select(orders1); //select
for (int i = 0; i < list1.size(); i++) {
System.out.println(list1.get(i).toString());
}
//2:update更新实例
orders1.setName("Bee--ORM Framework");
//默认只更新需要更新的字段. 过滤条件默认只用id字段,其它需求可用SuidRich中的方法.
int updateNum=suid.update(orders1); //update
System.out.println("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
//3:insert 插入实例
int insertNum=suid.insert(orders2); //insert
//默认不处理null和空字符串.不用再写一堆的判断;其它有值的字段全部自动插入数据库中.
//方便结合DB插值,如id自动增长,由DB插入;createtime由DB默认插入
System.out.println("insert record:"+insertNum);
//4:delete 删除实例
//默认不处理null和空字符串.不用再写一堆的判断;其它有值的字段全部自动作为过滤条件
//int deleteNum=suid.delete(orders2); //delete
//System.out.println("delete record:"+deleteNum);
}
}
//注意: 事务,分页,排序,范围查询,查询结果直接返回json等都支持,这里只是一个入门例子.
//更加应用参考,请查看: 更多例子 和 综合应用 .
API-V1.9.8(最新版) 下载代码含有 bee-1.9.8-javadoc.zip
Java快速编程, 让Java的开发速度超过php和Rails。
更快的开发Java Web的新组合:
Bee+Spring+SpringMVC
包括仅分库多数据源实例
Bee+Spring+SpringMVC开发学校教务管理与分数管理系统
更快的开发Spring Cloud微服务的新组合:
Bee + Spring Boot
......
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。