阳康后继续开源,本次发布建议更新
- I6B7AN 修复注解@InheritMapper 解析映射目标为Object的BUG
public static interface CommonMapper<T> extends BaseMapper{ @InheritMapper public List<T> implementByChild(T t); } @SqlResource("user") public static interface MyTestUserMapper extends CommonMapper<User>{ //implementByChild 的映射对象是User, 查找文件是user.md中的implementByChild } @SqlResource("admin") public static interface MyTestAdminUserMapper extends CommonMapper<AdminUser>{ //implementByChild 的映射对象是AdminUser,查找文件是admin.md中的implementByChild }
-
I6AWTZ 修复2022年10更新版本导致beetlsql多种数据库库支持的BUG
-
I634BU Spring Boot Starter 打包去掉对commons-dbcp 依赖
- I617VE 修复@ResultProvider(AutoJsonMapper.class)注解与自定义AttributeConvert注解冲突
@Data @ResultProvider(AutoJsonMapper.class) // 自动根据结果集映射到Bean public static class MyUserView2 { Integer id; @Coder //自定义注解 String name; DepartmentEntity dept; }
-
I5ZWFO Stream 接口 对Lambda的支持
streamData = sqlManager.lambdaQuery(UserEntity.class).andEq(UserEntity::getRole,1).stream(); streamData.foreach(user -> { System.out.println(user.getName()); });
-
I63SGJ 修复当用户自定义分表逻辑抛异常时候,BeetlSQL提示有误的BUG
@Table(name="${toShardTable('user')}") //如果toShardTable逻辑错误,抛出异常能正常显示错误逻辑 public class UserEntity{ }
-
maven
<dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>3.20.0-RELEASE</version> </dependency>
BeetlSQL 自主研发自 2015 年,目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,写起数据库访问代码特别顺滑,不亚于 MyBatis。你不想写 SQL 也好,或者想更好地写 SQL 也好,BeetlSQL 都能满足这要求,目前支持的数据库如下
- 传统数据库:MySQL (包括支持 MySQL 协议的各种数据库), MariaDB ,Oralce ,Postgres (包括支持 Postgres 协议的各种数据库), DB2 , SQL Server ,H2 , SQLite , Derby ,神通,达梦,华为高斯,人大金仓,PolarDB,GBase8s,GreatSQL 等
- 大数据:HBase,ClickHouse,Cassandar,Hive,GreenPlum
- 物联网时序数据库:Machbase,TD-Engine,IotDB
- SQL 查询引擎:Drill,Presto,Druid
- 内存数据库:ignite,CouchBase
如下测试包含了常用的 orm 操作: 多表联合查询映射(complexMapping),直接执行 sql (executeJdbc), 执行模板 sql (executeTemplate), 执行文件中的模板 sql ( File), 内置插入(insert),Query 调用链 (Query), 翻页查询 (pageQuery), 内置主键查询 (selectById), one2Many 自动关联查询
-
Benchmark Mode Cnt Score Error Units JMHMain.beetlsqlComplexMapping thrpt 5 177.412 ± 59.295 ops/ms JMHMain.beetlsqlExecuteJdbc thrpt 5 365.386 ± 131.116 ops/ms JMHMain.beetlsqlExecuteTemplate thrpt 5 313.983 ± 109.348 ops/ms JMHMain.beetlsqlFile thrpt 5 343.331 ± 138.322 ops/ms JMHMain.beetlsqlInsert thrpt 5 196.150 ± 87.106 ops/ms JMHMain.beetlsqlLambdaQuery thrpt 5 219.579 ± 88.081 ops/ms JMHMain.beetlsqlOne2Many thrpt 5 93.343 ± 37.242 ops/ms JMHMain.beetlsqlPageQuery thrpt 5 161.726 ± 76.978 ops/ms JMHMain.beetlsqlSelectById thrpt 5 302.450 ± 95.770 ops/ms JMHMain.jdbcExecuteJdbc thrpt 5 782.097 ± 252.305 ops/ms JMHMain.jdbcInsert thrpt 5 273.364 ± 133.523 ops/ms JMHMain.jdbcSelectById thrpt 5 806.214 ± 261.218 ops/ms JMHMain.jpaExecuteJdbc thrpt 5 107.990 ± 50.917 ops/ms JMHMain.jpaExecuteTemplate thrpt 5 122.694 ± 46.344 ops/ms JMHMain.jpaInsert thrpt 5 71.806 ± 37.828 ops/ms JMHMain.jpaOne2Many thrpt 5 88.506 ± 36.018 ops/ms JMHMain.jpaPageQuery thrpt 5 110.377 ± 35.236 ops/ms JMHMain.jpaSelectById thrpt 5 260.832 ± 68.198 ops/ms JMHMain.mybatisComplexMapping thrpt 5 86.302 ± 48.819 ops/ms JMHMain.mybatisExecuteTemplate thrpt 5 177.863 ± 63.760 ops/ms JMHMain.mybatisFile thrpt 5 143.007 ± 69.036 ops/ms JMHMain.mybatisInsert thrpt 5 122.391 ± 45.541 ops/ms JMHMain.mybatisLambdaQuery thrpt 5 9.109 ± 5.487 ops/ms JMHMain.mybatisPageQuery thrpt 5 58.990 ± 16.252 ops/ms JMHMain.mybatisSelectById thrpt 5 184.545 ± 60.096 ops/ms JMHMain.weedExecuteJdbc thrpt 5 311.293 ± 161.801 ops/ms JMHMain.weedExecuteTemplate thrpt 5 328.432 ± 106.103 ops/ms JMHMain.weedFile thrpt 5 338.572 ± 168.666 ops/ms JMHMain.weedInsert thrpt 5 183.079 ± 101.693 ops/ms JMHMain.weedLambdaQuery thrpt 5 293.843 ± 155.029 ops/ms JMHMain.weedPageQuery thrpt 5 176.761 ± 88.406 ops/ms JMHMain.weedSelectById thrpt 5 295.524 ± 147.727 ops/ms
展开阅读全文