ORM Bee设计思想与功能思维导图

发布时间:2024年01月18日

ORM Bee设计思想与功能思维导图

Bee,互联网新时代的Java ORM框架,支持Sharding;JDBC,Android,HarmonyOS;支持多种关系型数据库,还支持NoSQL的Cassandra,Mongodb等;更快、更简单、更自动,开发速度快,运行快,更智能!

IT->AiTea

AI Tea

Bee?是一个具有人工智能(AI)特性,省时/优雅、简易、自动(?AiTea:?Timesaving/Tasteful, Easy, Automatic) 的ORM软件框架(AiTeaSoft)(IT-->AiTea 的思维转变!)。

Bee最新几个版本(截止2023年)的功能列表如下:

参考:?https://github.com/automvc/bee

https://gitee.com/automvc/bee

**V2.2(2024.1.1·LTS版)** ?
1.Javabean实体支持继承(配置bee.osql.openEntityCanExtend=true) ?
2.增强批量插入与事务的关联 ?
? 2.2之前,调用批量插入在每个批都会提交commit,但在2.2改为只调用一次且在事务中,在批量插入的方法内容不再提交,而由事务控制. ?
3.fixed bug: ?
? 1)Condition使用Op.in时,参数为null时会报异常 ?
? 2)分片批量插入上下文相关的bug ?
? 3)仅分库时,解决上下文问题 ?
? 4)分片时,主线程的上下文要清除 ?
? 5).InheritableThreadLocal与parallelStream()不兼容的bug,当不是分片模式时,可以用parallelStream(),而分片时则不建议使用parallelStream() ?


**V2.1.10(2023.10)** ?
1.支持SQL取反运算NOT("!") ?
2.支持OceanBase数据库 ?
3.doBeforeReturn使用finally ?
4.多数据源配置,dbs支持多环境覆盖配置 ?
5.支持在main方法中直接运行可以读取springboot的application.properties连接数据库的bee.db.url等信息 ?
6.更新dataSource时,清空缓存 ?
7.fixed bug:有两个配置项(notSupportUnionQuery,executorSize)没有加前缀sharding_ ?

**V2.1.8(2023·中秋国庆)** ?
1. ?
1.1 兼容spring boot命令行active选择环境, ?
如:java -jar springbootDemo.jar --spring.profiles.active=dev,会觖发bee-dev.properties ?
1.2 兼容spring boot数据源配置,如spring.datasource.url ?
1.3 不启动应用,直接运行main方法,bee.properties没有配置数据源时,也可以使用application.properties的spring boot单数据源配置 ?
2.多表关联插入,更新,删除 ?
3.DateUtil增加判断日期格式,计算年龄 ?
4.通过Excel创建表,支持更多数据库 ?
5.提供默认的BeeSimpleDataSource,支持在bee.properties里配置多数据源(不使用spring boot时,也可以), ?
不使用Spring boot,单独使用Bee时,DataSourceBuilderFactory 也能自启动。 ?
6.Javabean支持生成Swagger注解 ?
7.MongodbObjSQLRichExt完善拦截器及上下文信息管理 ?
8.Mongodb打印日志,查询所有字段时,默认不显示要查询的字段;可以通过bee.osql.showMongoSelectAllFields配置控制是否显示 ?
9.GridFs注解支持SELECT查询类型,当查询实体时,可以自动关联查出相应的文件(MongoDB),GridFs文件类型支持byte[] ?
10.修复 bug:?
CurrencyArithmetic变量bug, ?
CacheSuidStruct表名不区分大小写, ?
SQLite AS 语法少了空格, ?
多表查询使用函数时,不能填充到对应字段, ?


**V2.1.7(2023.07.01)** ?
1.增加可运行sql格式化(需要配置:bee.osql.showSql.sqlFormat=true) ?
2.二级缓存支持过期时间随机设置, 解决缓存雪崩问题 ?
3.DdlViaExcel.createTable通过excel里的信息创建数据库表,可只创建部分 ?
4.支持Spring boot 3.0,动态配置 ?
5.完善Sharding ThreadPool,可以自定义配置Sharding操作执行线程数的大小 ?
6.完善Android多线程操作获取SQLiteDatabase的问题 ?

### **V2.1.6(2023.06.18·父亲节版)** ?
1.添加开关closeDefaultParaResultRegistry,控制是否需要默认加载参数类型转换器和查询结果类型转换器 ?
2.支持JAP新的API包jakarta.persistence.* ?
3.批量插入支持配置是否由框架捕获主键等异常catchModifyDuplicateException,默认不捕获 ?
4.关闭UtilDotDateTypeConvert因少了 HH:mm:ss ?
5.fixed bug 更新配置的默认值 ?
? fixed bug NullPointerException for PreparedSql preparedValue ?
? fixed bug for StringUtils ?

### **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支持更多数据库一行代码生成整个库所有表对应的Javabean ?
new GenBean().genAllBeanFile(); ?
7.广播表批量插入 ? ?
8.完善分片Sharding功能 ?
9.Mongodb ORM功能全面支持 ?
9.1.支持Mongodb地理信息插入,查询(可分片查询)等 ?
9.2.GridFs文件各种操作,支持注解 ? ?
9.3.可直接执行原生语句(MongodbRawSql) ?
9.4.Mongodb面向对象操作打印原生语句日志 ? ??
9.5.支持Mongodb事务 ?
9.6.支持Mongodb创建索引,删除索引 ? ?
9.7.mongodb bean定义为插拔组件 ?
10.更多数据库分页默认支持:MsAccess,Cubrid,HSQL,Derby,Firebird等 ?

#### [Mongodb ORM(Bee)详细功能列表](MongodbORM-Function-List.md)?

### **V2.0(2023.02·母爱)** ?
**使用分库分表像使用单库一样方便;使用MongoDB像使用MySQL一样容易.** ?
1.新增分库分表支持:面向对象分片,JDBC分片 ?
1.1.面向对象分片 ?
1.2.Suid,SuidRich,查询,更新分片 ?
1.3.MoreTable多表查询分片 ?
1.4.批量插入分片 ?
1.5.MAX,MIN,COUNT,SUM,AVG分片查询分片 ?
1.6.分页/排序分片 ?
1.7.分片种类支持:分库分表,仅分库,仅分表 ?
1.8.分片路由种类支持:一库一表,一库多表,多库多表,全库全表,只指定表,只指定库 ?
1.9.通过Hint强制指定当次操作的分片路由(指定ds和table) ?
1.10.分片的广播表 ?
1.11.Sharding分片配置支持 ?
1.12.流式查询,降低查询内存使用(JDBC) ?
1.13.分片支持:=,in,between;其中in支持Number,List,Set ?
? ? ? ? 不参与分片:not in, not between,>=,<=。?
2.新增Mongodb ORM功能支持(使用类似JDBC用法) ?
3.新增Mongodb分片功能 ?
4.新增MS Access支持 ?

### **V1.17.21(2023.06.18 ?1.17.x LTS版)** ?
同步V2.0,V2.1发现的bug,完善相关问题. ?

### **V1.17(2022·中秋)** ?
1)完善SqlServer分页 ?
2)增加Android(安卓)ORM功能 ?
3)增加HarmonyOS(鸿蒙)ORM功能 ?
4)命名转换增加种类4(DbUpperAndJavaLower) ?

### **V1.11** (**2022·劳动节**) ?
1)新增拦截器、多租户,注册器功能 ?
2)二级缓存扩展支持 ?
Redis缓存支持 ?
3)支持自定义TypeHandler,处理查询的ResultSet结果 ?
? 添加转换器SetParaTypeConvert转换PreparedStatement参数的类型 ?
4)支持Cassandra. ?
5)添加Jndi数据源支持 ?
6)自定义动态SQL标签,@in,@toIsNULL1,@toIsNULL2,<if isNotNull>,<if isNotBlank>. ?
动态sql,将list转为像in (1,2,3)的语句,不需要foreach,批量插入也不需要foreach. ?
7)配置文件支持多环境差异化配置; ?
8)丰富的注解支持. ?
??
...
?

文章来源:https://blog.csdn.net/abckingaa/article/details/135679951
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。