BeetlSQL 3.29.0 发布,流行的 Java DAO 工具
BeetlSQL 研发自 2015 年,核心和扩展全部自研。目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,入门快。 阅读文档源码和例子在线体验多库使用性能测试插件支持 本次调整: Apache Doris 数据库支持 sql-dynamic-table 不支持timestamp和bye[] 类型修复 solon框架集成更新到最新版本 更新beetl,修复beetl不支持char类型 SQLManager sqlManager = builder.build(); //doris没有传统数据丰富的metadata的补充 ((SchemaLessMetaDataManager)sqlManager.getMetaDataManager()).addBean(DorisUser.class); DorisMapper dorisMapper = sqlManager.getMapper(DorisMapper.class); sqlManager.all(DorisUser.class); //根据“主键” 查询 sqlManager.unique(DorisUser.class,1); // SQL查询 List<DorisUser> list = sqlManager.execute(new SQLReady("select * from example_tbl_agg1 order by user_id limit 1,2"),DorisUser.class); //翻页 PageResult<DorisUser> pageResult = dorisMapper.select(DefaultPageRequest.of(1,5)); BeetlSQL 核心功能 BeetlSQL 核心 功能 sql-core 核心包,封装了 JDBC 操作,SQL 文件管理,可扩展注解管理 sql-fetch 类似 Hibernate 那样提供 @Fetch,@FetchMany 等注解 sql-mapper mapper 类定义和扩展,用户可以自定义自己的 mapper 和 mapper 的注解 sql-intergration 整合 Spring,solon,jfinal 等框架,以及例子 sql-query Query 和 LambdaQuery,用 Java API 构造和使用 SQL sql-mapping 支持单表,多表与 POJO 的互相映射,支持 json 定义,xml 定义映射方式,或者约定习俗 sql-template Beetl 模板实现,且支持其他模板语言 sql-gen 代码生成抽象包,并提供默认实现可以生成 dao,sql 文件,md 文档 sql-db-support 各种数据库的测试和验证,支持 20+ 数据库。 sql-samples 包含了上百个使用 beetlsql 的例子 sql-test 包含了上百个单元测试例子 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-rewrite 采用 sql 重写,支持单表多租户模式,逻辑删除,数据权限功能 SAGA(实验) BeetSQL 的 SAGA 是实现,用 SAGA 微服务事务 使用加速扩展性能优化结果:能达到近一半手写 JDBC 的性能 查询 测试内容 BeetlSQL(ops/ms) 纯 jdbc mybatis JPA beetlsqlExecuteJdbc 直接执行 JDBC 318 678 / 64 beetlsqlExecuteTemplate 执行 SQL 模板 268 / 44 66 beetlsqlFile SQL 存放在文件统一管理 266 / 41 / beetlsqlInsert 插入一条 129 248 43 59 beetlsqlGetAll 获取所有数据 13 40 4 5 beetlsqlLambdaQuery Java 函数编写 SQL 执行查询 196 / 9 / beetlsqlPageQuery 翻页查询 159 / 17 59 beetlsqlSelectById 查询一条 259 670 43 61 maven <dependency> <groupId>com.ibeetl</groupId> <artifactId>beetlsql</artifactId> <version>3.29.0-RELEASE</version> </dependency> BeetlSQL 支持如下数据库 传统数据库:MySQL (包括支持 MySQL 协议的各种数据库), MariaDB ,Oralce ,Postgres (包括支持 Postgres 协议的各种数据库), DB2 , SQL Server ,H2 , SQLite , Derby ,神通,达梦,华为高斯,人大金仓,PolarDB,GBase8s,GreatSQL 等 大数据:HBase,ClickHouse,Cassandar,Hive,GreenPlum,Doris 物联网时序数据库:Machbase,TD-Engine,IotDB SQL 查询引擎:Drill,Presto,Druid 内存数据库:ignite,CouchBase 插件支持