BeetlSQL 3.25.3 发布,流行国产 ORM 工具
BaseMapper增加updateByIdBatch实现,通过AutoMapper申明接口函数的实现类 public interface BaseMapper<T> { ..... @AutoMapper(UpdateByIdBatchAMI.class) int[] UpdateByIdBatch(List<?> list); } 2 重定义RewriteBaseMapper,所有继承RewriteBaseMapper的DAO,将发生SQL重写,以实现多租户,数据权限等功能。增加@DisableRewirte,可以关闭重写功能。 public interface RewriteBaseMapper<T> extends BaseMapper<T> { @AutoMapper(InsertAMI.class) @DisableRewrite void insert(T entity); @AutoMapper(InsertTemplateAMI.class) @DisableRewrite void insertTemplate(T entity); @AutoMapper(InsertBatchAMI.class) @DisableRewrite void insertBatch(List<T> list); } 3 修复DebugInteceptor 在输出调试信息,某些情况下定位调用类和调用行数不准的BUG BeetlSQL 最新扩展包 BeetlSQL 扩展包 功能 sql-xml 高仿 myabtis 的 xml 语法,如果有想喜欢使用 xml 写 sql 模板的,可以使用此扩展包 sql-accelerator 性能加速包,通过反射优化,缓存,让 beetlsql 性能提升 50%-200%,接近一半手写 JDBC 的性能 sql-firewall sql 防火墙,避免不小心写的 sql 破坏数据库 sql-dynamic-table 支持像访问静态表格那样防火动态表格,简化这类需要开发 sql-bean-encrypt 支持 @MD5 ,@AES 等对字段加密解密 sql-tenant 采用 sql 重写,支持单表多租户模式,逻辑删除,数据权限功能 SAGA(实验) BeetSQL的 SAGA 是实现,实现SAGA分布式事务 使用加速扩展性能优化结果:能达到一半手写 JDBC 的性能 查询 优化前(ops/ms) 优化后 (ops/ms) 纯 jdbc mybatis JPA beetlsqlExecuteJdbc 222 318 678 / 64 beetlsqlExecuteTemplate 198 268 / 44 66 beetlsqlFile 191 266 / 41 / beetlsqlInsert 139 129 248 43 59 beetlsqlGetAll 5 13 40 4 5 beetlsqlLambdaQuery 150 196 / 9 / beetlsqlPageQuery 128 159 / 17 59 beetlsqlSelectById 186 259 670 43 61 maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>3.25.3-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 阅读文档源码和例子在线体验多库使用性能测试