BeeV1.11 拦截器,多租户、Redis 缓存、注册器、类型转换器和结果处理器(上传 Maven 2022.5)

Bee,互联网新时代的 Java ORM 工具,更快、更简单、更自动,开发速度快,运行快,更智能!

Bee 让程序员 / 软件工程师,从手工编码中解放出来,Bee 更适合智能软件制造时代!

立志做最懂用户的软件!

V1.11 (International Labour Day)

实例简要展示:

1. 同时使用多种数据源

		//数据源需要提前配置好
        PreparedSql preparedSqlOracle = BeeFactory.getHoneyFactory().getPreparedSql();
		preparedSqlOracle.setDataSourceName("ds2");
		
		PreparedSql preparedSqlMysql = BeeFactory.getHoneyFactory().getPreparedSql();
		preparedSqlMysql.setDataSourceName("ds1");
		
		String sql="select id,biz_tag,max_id,step,description,update_time,version from leaf_alloc";
		
		Object preValues[]=null;
		preparedSqlOracle.select(sql, new LeafAlloc(), preValues, 0, 2); //分页语句部分由Bee负责

Suid,PreparedSql,MapSuid,MoreTable 都增加有方法:setDataSourceName,getDataSourceName,getInterceptorChain

2. 拦截器

CommInterceptorChain

3. 注册器

CalculateRegistry,计算分版算法注册器
DbFeatureRegistry,DB方言特性注册器
InterceptorChainRegistry,拦截器链注册器
NameRegistry,命名转换注册器
SetParaTypeConverterRegistry, PreparedStatement参数类型转换注册器
TypeHandlerRegistry 查询结果转换注册器

4. 类型转换器,. 结果处理器

详细实例:

https://my.oschina.net/u/4111850/blog/5494806

5. 实体名_F  就可以引用字段名

      //方式1
        objSQLRichService.update(download, "genProject");
        //方式2, 本次新增.
        objSQLRichService.update(download, Download_F.genProject);

ORM 框架 Bee V1.11_4.22 发布,添加 SPI 预加载接口 PreLoad 提高缓存安全等 - OSCHINA - 中文开源技术交流社区
7. 自定义动态 SQL 标签

select * from orders where userid in #{userid @in}
https://my.oschina.net/u/4111850/blog/5493477
        

V1.11 主要功能更新
1) 拦截器、多租户
2) 增加 ShardingStruct 为分库分表作准备
3) 二级缓存扩展支持
Redis 缓存支持
3) 支持自定义 TypeHandler, 处理查询的 ResultSet 结果
4)add SetParaTypeConvert for convert PreparedStatement parameter
5) 支持在 Suid 等对象设置命名转换器.
增加 DbFeature 方言注册器,自定义实现不同 DB 方言更加易用.
6) 支持 Cassandra.
7) 添加 Jndi 数据源支持
8) Ddl.java 使用 Javabean 创建表,支持追加 java 与 db 字段类型映射,支持设置某个 DB 的 java_dbtype 类型映射.
9)PreparedSql 自定义 sql 支持批量插入.
PreparedSql 自定义 sql 支持多表查询,返回多表关联 Javabean 结构数据
10) 自定义动态 SQL 标签,@in,@toIsNULL1,@toIsNULL2,<if isNotNull>,<if isNotBlank>.
动态 sql, 将 list 转为像 in (1,2,3) 的语句,不需要 foreach, 批量插入也不需要 foreach.

添加注解:
PrimaryKey,Datetime,Createtime,Updatetime;JustFetch
AnnotationHandler,AutoSetString 自动设置字符值
Desensitize, 敏感信息模糊处理
ReplaceInto,MySQL replace into 转换
MultiTenancy 多租户
BeforeReturnAnnotationHandler,AbstractDictI18nDefaultHandler
Dict 字典转化
DictI18n 多语言国际化字典转化
Column 列名与属性名映射扩展支持

增强:
multi-DS 同时使用不同类型 DB 优化
 (比如,同时使用 Mysql,Oracle,SQL Server)
可用 BF 代替 BeeFactoryHelper 加快输入
Javabean 使用 java.util.Date 类型,进行 SUID 作兼容处理.
Ddl.java 兼容原生 char 类型,兼容 java.util.Date.
SQLite 获取 Timestamp 结果作转化处理.
实体属性是 Javabean 与 DB 表 Json 类型字段在参数设置与查询结果时自动转换 (使用 Json 注解自定义实现).
读写模式配置信息去除空格
检测 MapSqlKey 的值
增加 Registry 空接口;增加 NameRegistry.
更改 Serializer 接口抛出异常方式.
MapSuid,MapSql 支持解析字符串的 Boolean 类型.
GenBean,还不支持的 jdbc 类型,提醒在哪个文件设置.
GenBean 增加支持是否覆盖原有文件设置.
GenBean 增加获取字段支持,使用字段名可以不直接使用字符串.
SuidRich 的 selectString 方法支持可变参数:
public List<String[]> selectString(T entity,String... selectFields);
CommInterceptorChain 增加检测是否添加了相同类型拦截器.
提高缓存安全.
添加 SPI 预加载接口 PreLoad.
添加用于全局的拦截器注册器 InterceptorChainRegistry.

fixed bug:
naming transfer
多表查询同一个实体自我关联查询禁止自我多次循环

   

下期功能预告:

准备向复杂的分库分表进军了。。。

好消息:
2022 年 5 月 1 日劳动节前登记的企业用户,可获得专业的生产环境使用帮助,为你的系统保驾护航、提高性能;
个人用户登记后入群 (扣群:992650213),可获得个性化的使用咨询!

登记地址:

谁在使用 Bee · Issue #I3PIUJ · automvc/bee - Gitee.com

https://github.com/automvc/bee/issues/43

功能列表详情:

ORM 框架 Bee V1.11_4.22 发布

------------------------------------------------------------------------

Bee 是一个简单,易用,功能强大,开发速度快,编码少的 JAVA ORM 框架。连接,事务都可以由 Bee 框架负责管理. Bee 简化了与 DB 交互的编码工作量,是 编码复杂度 为 O(1) 的 Java 框架!

Bee 简单易用:单表操作、多表关联操作,可以不用写 sql, 极少语句就可以完成 SQL 操作;概念简单 ,10 分钟即可入门。
Bee 功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化;具有分布式特性。高级要求,还可以方便自定义 SQL 语句

码云上的项目首页:

bee: Bee,互联网新时代的Java ORM框架,更快、更简单、更自动,开发速度快,运行快,更智能!

bee-springboot: Bee整合Spring Boot,让你瞬间拥有两样快速开发利器!

github:

https://github.com/automvc/bee


版权声明:本文为abckingaa原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。