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

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)丰富的注解支持.  
  
...
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/414842.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

element plus 可选择树形组件(el-tree) 怎样一键展开/收起?实现方法详解

实现代码&#xff1a; 按钮&#xff1a; <el-button click"takeall" style"height: 24px">{{zhanstatus % 2 ! 0 ? "收起所有" : "展开所有"}} </el-button> 组件&#xff1a; <el-form-item label"可选择菜单…

STM32 基本定时器反转LED

引脚是什么为什么要初始化引脚&#xff1f; 在嵌入式系统中&#xff0c;引脚是微控制器或微处理器上的物理引脚&#xff0c;用于连接外部设备、传感器或其他芯片。每个引脚都有特定的功能和用途&#xff0c;例如输入、输出、模拟输入、电源供应等。STM32F103C8T6引脚图&#xf…

【PyTorch】PyTorch之Reduction Ops

文章目录 前言一、ARGMAX二、ARGMIN三、AMAX和AMIN四、ALL和ANY五、MAX和MIN六、MEAN七、MEDIAN八、NORM九、PROD十、STD十一、SUM十二、UNIQUE十三、VAR 前言 介绍pytorch的Reduction Ops。 一、ARGMAX torch.argmax(input, dim, keepdimFalse) → LongTensor Parameters&a…

(2023版)斯坦福CS231n学习笔记:DL与CV教程 (12) | 视觉模型可视化与可解释性(Visualizing and Understanding)

前言 &#x1f4da; 笔记专栏&#xff1a;斯坦福CS231N&#xff1a;面向视觉识别的卷积神经网络&#xff08;23&#xff09;&#x1f517; 课程链接&#xff1a;https://www.bilibili.com/video/BV1xV411R7i5&#x1f4bb; CS231n: 深度学习计算机视觉&#xff08;2017&#xf…

Java多线程并发篇----第二十三篇

系列文章目录 文章目录 系列文章目录前言一、在 java 中守护线程和本地线程区别二、线程与进程的区别?三、什么是多线程中的上下文切换?四、死锁与活锁的区别,死锁与饥饿的区别?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。…

c4d阿诺德怎么渲染高清图片

c4d作为也可热门建模工具&#xff0c;该渲染器支持多种渲染器使用&#xff0c;很多人在选择阿诺德渲染器是出现了高清图片无法渲染的问题&#xff0c;阿诺德可提供逼真的光影效果和物理材质&#xff0c;那么怎么利永阿诺德渲染高清的图片呢&#xff0c;一起来简单看看吧。 c4d阿…

设计模式篇章(4)——十一种行为型模式

这个设计模式主要思考的是如何分配对象的职责和将对象之间相互协作完成单个对象无法完成的任务&#xff0c;这个与结构型模式有点像&#xff0c;结构型可以理解为静态的组合&#xff0c;例如将不同的组件拼起来成为一个更大的组件&#xff1b;而行为型更是一种动态或者具有某个…

C++ 设计模式之观察者模式

【声明】本题目来源于卡码网&#xff08;题目页面 (kamacoder.com)&#xff09; 【提示&#xff1a;如果不想看文字介绍&#xff0c;可以直接跳转到C编码部分】 【设计模式大纲】 前面的文章介绍了创建型模式和结构型模式&#xff0c;今天开始介绍行为型模式。 【简介】什么是…

第三讲_ArkTS的初识

ArkTS的初识 1. ArkTS的基本组成2. ArkTS自定义组件 1. ArkTS的基本组成 装饰器&#xff1a; 用于装饰类、结构、方法以及变量&#xff0c;并赋予其特殊的含义。自定义组件&#xff1a;可复用的UI单元&#xff0c;可组合其他组件&#xff0c;图示中Component装饰的struct Hello…

Windterm使用总结

Windterm是一款部分开源的终端软件&#xff0c;目前作者又开始更新了&#xff0c;目前最新版本WindTerm 2.6.0 Prerelease 10。下载地址&#xff1a;https://github.com/kingToolbox/WindTerm/releases 自己遇到的使用问题总结如下。 1. telnet登录设备&#xff0c;按退格键无…

python爬虫--网页代码抓取

我回来了。 目录 前言一、爬虫是什么&#xff1f;二、使用步骤代码讲解第一版第二版第三版 总结 前言 爬虫&#xff0c;第一章 一、爬虫是什么&#xff1f; 爬虫是指一种自动化程序&#xff0c;通常被用于互联网上的数据采集。这些程序会模拟人类用户的行为&#xff0c;通过…

归并排序详解

目录 ​&#x1f4a1;基本思想 &#x1f4a1;图文介绍 &#x1f4a1;动图演示 &#x1f4a1;过程解释 &#x1f4a1;代码实现 &#x1f4a1;递归实现 &#x1f4a1;非递归实现 &#x1f4a1;总结 &#x1f4a1;基本思想 归并排序&#xff08;MERGE-SORT&#xff09;是…