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.mzph.cn/news/632274.shtml

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

相关文章

【现代控制系统】能控性与能观性

能控性与能观性 2023年11月25日 #controlsys 文章目录 能控性与能观性1. 能控性1.1 能控性&#xff08;可控性&#xff09;的引入1.2 LTI系统的可控性1.3 LTV系统的可控性 2. 能观性2.1 能观性&#xff08;可观性&#xff09;引入2.2 LTI系统的可观性2.3 LTV系统的可观性 3. 状…

分享用is_sorted()解决单调数列问题

题目名称 896. 单调数列 目录 题目名称 896. 单调数列 1.题目 2.题目分析 3.题目知识 3.1 is_sorted() 3.2.迭代器与反向迭代器 3.2.1理解迭代器 3.2.2正向迭代器 3.2.3反向迭代器 最后&#x1f368; 推荐阅读顺序: 1.题目->2.题目分析->3.题目知识点 1.题目 如…

el-dialog嵌套使用,只显示遮罩层的问题

直接上解决方法 <!-- 错误写法 --><el-dialog><el-dialog></el-dialog></el-dialog><!-- 正确写法 --><el-dialog></el-dialog><el-dialog></el-dialog>我是不建议嵌套使用的&#xff0c;平级也能调用&#xff0c…

【前端HTML】HTML基础

文章目录 HTML标签标签属性 基本结构文档声明HTML标准结构HTML基础排版标签语义化标签块级元素与行内元素文本标签图片标签超链接跳转到指定页面跳转到文件跳转到锚点唤起指定应用 列表有序列表无序列表列表嵌套自定义列表 表格基本结构常用属性跨行跨列 常用标签表单基本结构常…

大创项目推荐 深度学习的视频多目标跟踪实现

文章目录 1 前言2 先上成果3 多目标跟踪的两种方法3.1 方法13.2 方法2 4 Tracking By Detecting的跟踪过程4.1 存在的问题4.2 基于轨迹预测的跟踪方式 5 训练代码6 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的视频多目标跟踪实现 …

VirtualBox安装openSUSE-Leap-15.5虚拟机并配置网络

VirtualBox安装openSUSE-Leap-15.5虚拟机并配置网络 适用于在VirtualBox平台上安装openSUSE-Leap-15.5虚拟机。 1. 安装准备 1.1 安装平台 Windows 11 1.2. 软件信息 软件名称软件版本安装路径Oracle VM VirtualBoxVirtualBox-7.0.12-159484D:\softwareopenSUSE-Leapopen…

HarmonyOS 转场动画 ForEach控制

本文 我们继续说组件的专场特效 上文 HarmonyOS 转场动画 我们通过if控制了转场效果 本文 我们通过 ForEach 控制它的加载和删除 这时候就有人会好奇 ForEach 怎么控制删除呢&#xff1f; 很简单 循环次数不同 例如 第一次 10个 第二次 5个 那么后面的五个就相当于删除啦 我们…

python的tabulate包在命令行下输出表格不对齐

用tabulate可以在命令行下输出表格。 from tabulate import tabulate# 定义表头 headers [列1, 列2, 列3]# 每行的内容 rows [] rows.append((张三,数学,英语)) rows.append((李四,信息科技,数学))# 使用 tabulate 函数生成表格 output tabulate(rows, headersheaders, tab…

Android 开发简介

前言 Android 是由 Google 领导的开放手机联盟开发的基于 Linux 的开源移动操作系统。有关一般详细信息&#xff0c;请参阅 Android 主网站。 Android 开发与其他平台的开发有很大不同。因此&#xff0c;在开始针对 Android 编程之前&#xff0c;我们建议您确保熟悉以下关键主…

【Docker】安装 Nacos容器并根据Nginx实现负载均衡

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《Docker实战》。&#x1f3af;&#x1f3af; &…

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(一)

什么是技术架构?架构和框架之间的区别是什么?怎样去做好架构设计?(一)。 在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。在不同的书籍上, 不同的作者, 对于架构的定义也不统一, 角度不同, 定义不同。 一、架构是什么 Linux 有架构,MySQL 有架构,J…

漏洞检测和评估【网站子域扫描工具02】

上一篇&#xff1a;爬取目标网站的域名和子域名【网站子域扫描工具01】 在Python中&#xff0c;有一些流行的漏洞扫描库可以对子域进行漏洞扫描和评估&#xff0c;比如Nmap、Sublist3r等。 1.端口扫描 以下是一个简单的示例代码&#xff0c;展示了如何使用Nmap进行基本的端口扫…

由于找不到d3dcompiler_43.dll缺失,无法打开软件的解决方法分享

d3dcompiler43.dll是什么文件&#xff1f;为什么会出现丢失的情况&#xff1f;又该如何解决呢&#xff1f;本文将详细介绍d3dcompiler43.dll的作用和影响&#xff0c;并提供6个有效的解决方法。 一、d3dcompiler43.dll是什么文件&#xff1f; d3dcompiler43.dll是DirectX SDK…

Windows 下使用C#开启蓝牙(未解决的坑)

需求 当程序检测到蓝牙未打开时需要程序自动将W10的蓝牙开启。 资料 Turn on/off Bluetooth radio/adapter from cmd/powershell in Windows 10 - Super User 上的这个连接是通过powershell 开启蓝牙具体代码如下 [CmdletBinding()] Param ([Parameter(Mandatory$true)][V…

MySQL入门篇:事物操作(开启事物,提交事物,回滚事物),事物四大特性(ACID),并发事物问题(脏读,不可重复读,幻读),事物隔离级别

目录 1.事物简介2.事物操作1.查看/设置事物提交方式&#xff08;方式1&#xff09;2.开启事物&#xff08;方式2&#xff09;3.提交事物4.回滚事物 3.事物四大特性(ACID)1.原子性&#xff08;Atomicity)2.一致性&#xff08;Consistency)3.隔离性&#xff08;lsolation)4.持久性…

MyBatisPlus学习笔记四-扩展功能

1、代码生成器 1.1、官方的1 1.3、官方的2-idea插件 1.3、非官方的-idea插件 2、静态工具 先查询&#xff0c;再分组 3、逻辑删除 4、枚举处理器 5、JSON处理器

使用mininet快速入门ONOS路由交换技术与原理

在SDN下路由交换与传统硬件集成方式的路由交换技术有许多相似之处。其中一个比较重要的点是传统交换机中ASIC (Application Specific Integrated Circuit&#xff0c;专用集成电路)决定了其数据平面所支持的功能&#xff0c;而在SDN中&#xff0c;实现了控制面与数据面的分离。…

数组练习 Leetcode 566.重塑矩阵

在 MATLAB 中&#xff0c;有一个非常有用的函数 reshape &#xff0c;它可以将一个 m x n 矩阵重塑为另一个大小不同&#xff08;r x c&#xff09;的新矩阵&#xff0c;但保留其原始数据。 给你一个由二维数组 mat 表示的 m x n 矩阵&#xff0c;以及两个正整数 r 和 c &#…

k8s---ingress对外服务(ingress-controller)

ingress 概念 k8s的对外服务&#xff0c;ingress service作用现在两个方面&#xff1a; 1、集群内部&#xff1a;不断跟踪的变化&#xff0c;更新endpoint中的pod对象&#xff0c;基于pod的ip地址不断变化的一种服务发现机制。 2、集群外部&#xff1a;类似于负载均衡器&a…

进阶Docker3:Dokerfile构建镜像

目录 Dockerfile 构建基础镜像 基本机构 命令&#xff1a; 命令解释&#xff1a; 准备工作 创建镜像 上传镜像 Dockerfile Dockerfile 是一个文本格式的配置文件&#xff0c; 用户可以使用 Dockerfile 来快速创建自定义的镜像&#xff0c;另外&#xff0c;使 用Docke…