BeeV1.11 拦截器,多租户、Redis 缓存、注册器、类型转换器和结果处理器(上传 Maven)
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);
https://www.oschina.net/news/192843/bee-1-11-4-22-released
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),可获得个性化的使用咨询!
登记地址:
https://gitee.com/automvc/bee/issues/I3PIUJ
https://github.com/automvc/bee/issues/43
功能列表详情:
------------------------------------------------------------------------
Bee 是一个简单,易用,功能强大,开发速度快,编码少的 JAVA ORM 框架。连接,事务都可以由Bee框架负责管理. Bee 简化了与DB交互的编码工作量, 是 编码复杂度 为 O(1) 的Java 框架!
Bee简单易用:单表操作、多表关联操作,可以不用写sql,极少语句就可以完成SQL操作;概念简单,10分钟即可入门。
Bee功能强大:复杂查询也支持向对象方式,分页查询性能更高,一级缓存即可支持个性化优化;具有分布式特性。高级要求,还可以方便自定义SQL语句。
码云上的项目首页:
https://gitee.com/automvc/bee-springboot
github: