技术学习分享_CKX技术 技术资讯 BeetlSQL 3.20.0 发布,流行 Java ORM 工具

BeetlSQL 3.20.0 发布,流行 Java ORM 工具

广告位

阳康后继续开源,本次发布建议更新

  • 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

     

    阅读文档 源码和例子 在线体验 多库使用 性能测试

     

展开阅读全文
本文来自网络,不代表技术学习分享_CKX技术立场,转载请注明出处。

作者: CKX技术

上一篇
下一篇
广告位

发表回复

返回顶部