BeetlSQL 3.37 宣布,增长多对多主动 Fetch

BeetlSQL 研发自 2015 年,核心和生态扩展全部自研。目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,入门快。 阅读文档 源码和例子 在线体验 多库使用 性能测试 插件支持 本次发...

应用介绍

BeetlSQL 研发自 2015 年,核心和生态扩大全部自研。目标是供给开辟高效,保护高效,运行高效的数据拜访框架,它实用范围广,定制性强,入门快。

浏览文档 源码和例子 在线体验 多库应用 机能测试 插件支撑

本次宣布

  • 修复SQL Server在某些情况下获取不到表信息的BUG

  • Fetch功能增长了多对多映射

  • 更新Beetl版本到最新的3.20.1

Fetch供给了新注解 @FetchMany2Many,实现类如@Build注解供给的FetchMany2ManyAction,能实现经由过程中心表获取对对多半据

@Retention(RetentionPolicy.RUNTIME)@Target(value = https://www.oschina.net/news/398117/{ElementType.METHOD, ElementType.FIELD})"";}

应用例子如下

BeetlSQL 核心功能

整合 Spring,solon,jfinal 等框架,以及例子

BeetlSQL 核心

功能

sql-core

核心包,封装了 JDBC 操作,SQL 文件治理,注解的注解治理

sql-fetch

类似 Hibernate 那样供给 @Fetch,@FetchMany 等注解

sql-mapper

mapper 类定义和扩大,用户可以自定义本身的 mapper 和 mapper 的注解

sql-intergration

sql-query

Query 和 LambdaQuery,用 Java API 构造和应用 SQL

sql-mapping

sql-template

Beetl 模板实现,且支撑其他模板说话

sql-gen

代码生成抽象包,并供给默认实现可以生成 dao,sql 文件,md 文档

sql-db-support

各类数据库的测试和验证,支撑 33+ 数据库。

sql-samples

包含了上百个应用 beetlsql 的例子

sql-test

包含了上百个单位测试例子

BeetlSQL 最新扩大包

BeetlSQL 扩大包

功能

sql-xml

/

高仿 myabtis 的 xml 语法,假如爱好应用 xml 写 sql 模板的,可以应用此扩大包

sql-accelerator

机能加快包,经由过程反射优化,缓存,让 beetlsql 机能晋升 50%-200%,接近一半手写 JDBC 的机能

sql-firewall

sql 防火墙,避免不当心写的 sql 破坏数据库

支撑像拜访静态表格那样防火动态表格,简化动态创建表格的营业需求开辟

sql-bean-encrypt

支撑 @MD5 ,@AES 等对字段加密解密

sql-rewrite

采取 sql 重写,支撑单表多租户模式,逻辑删除,数据权限功能

SAGA(实验)

4

BeetSQL 的 SAGA 是实现,用 SAGA 微办事事务

应用加快扩大机能优化成果:能达到近一半手写 JDBC 的机能

查询

测试内容

BeetlSQL(ops/ms)

纯 jdbc

mybatis

JPA

beetlsqlExecuteJdbc

直接履行 JDBC

318

/

支撑单表,多表与 POJO 的互相映射,支撑 json 定义,xml 定义映射方法,或者商定习俗

64

beetlsqlExecuteTemplate

5

履行 SQL 模板

268

44

66

beetlsqlFile

SQL 存放在文件同一治理

/

41

/

beetlsqlInsert

266

插入一条

129

248

43

59

beetlsqlGetAll

获取所稀有据

13

40

beetlsqlLambdaQuery

Java 函数编写 SQL 履行查询

196

/

9

@Table(name="sys_user")public class MyUser { @AutoID Integer id; String name; @FetchMany2Many(tableClass = UserRole.class, fromAttr = "userId",toAttr ="roleId") List roles;          }

/

beetlsqlPageQuery

翻页查询

159

678

/

17

59

beetlsqlSelectById

查询一条

sql-dynamic-table

259

670

43

61

JMH机能测试

Benchmark                                  Mode  Cnt     Score      Error   UnitsBeetl.addEntity                           thrpt    5   133.190 ±   38.548  ops/msBeetl.complexMapping                      thrpt    5   236.289 ±  288.370  ops/msBeetl.executeJdbcSql                      thrpt    5   298.657 ±   80.480  ops/msBeetl.executeTemplateSql                  thrpt    5   251.418 ±   77.757  ops/msBeetl.getAll                              thrpt    5    14.531 ±    0.605  ops/msBeetl.getEntity                           thrpt    5   359.275 ±   85.099  ops/msBeetl.lambdaQuery                         thrpt    5   187.228 ±   59.697  ops/msBeetl.one2Many                            thrpt    5   178.041 ±  181.829  ops/msBeetl.pageQuery                           thrpt    5   148.982 ±   39.327  ops/msBeetl.sqlFile                             thrpt    5   249.206 ±  100.083  ops/msDBVisitor.addEntity                       thrpt    5    99.294 ±   33.564  ops/msDBVisitor.executeJdbcSql                  thrpt    5   185.177 ±   50.993  ops/msDBVisitor.executeTemplateSql              thrpt    5     3.189 ±    0.748  ops/msDBVisitor.getAll                          thrpt    5     3.163 ±    0.980  ops/msDBVisitor.getEntity                       thrpt    5   125.683 ±   44.190  ops/msDBVisitor.lambdaQuery                     thrpt    5    94.314 ±   38.499  ops/msDBVisitor.pageQuery                       thrpt    5    49.954 ±   18.254  ops/msEasyQuery.addEntity                       thrpt    5    98.904 ±   39.890  ops/msEasyQuery.complexMapping                  thrpt    5    67.397 ±   59.919  ops/msEasyQuery.executeJdbcSql                  thrpt    5   243.160 ±   48.080  ops/msEasyQuery.getAll                          thrpt    5    14.896 ±    2.219  ops/msEasyQuery.getEntity                       thrpt    5   134.370 ±   67.962  ops/msEasyQuery.lambdaQuery                     thrpt    5   137.292 ±   53.438  ops/msEasyQuery.one2Many                        thrpt    5    75.083 ±   53.738  ops/msEasyQuery.pageQuery                       thrpt    5    84.596 ±   46.942  ops/msFlex.addEntity                            thrpt    5    86.484 ±   40.022  ops/msFlex.getAll                               thrpt    5     2.926 ±    0.993  ops/msFlex.getEntity                            thrpt    5    73.445 ±   39.437  ops/msFlex.pageQuery                            thrpt    5    33.999 ±   26.776  ops/msJdbc.addEntity                            thrpt    5   225.223 ±  304.585  ops/msJdbc.executeJdbcSql                       thrpt    5   691.616 ±  145.280  ops/msJdbc.getAll                               thrpt    5    35.827 ±    7.295  ops/msJdbc.getEntity                            thrpt    5   678.791 ±  165.527  ops/msJpa.addEntity                             thrpt    5    53.219 ±   78.543  ops/msJpa.executeJdbcSql                        thrpt    5    60.734 ±   61.299  ops/msJpa.executeTemplateSql                    thrpt    5    64.478 ±   48.688  ops/msJpa.getAll                                thrpt    5     4.710 ±    2.062  ops/msJpa.getEntity                             thrpt    5    56.325 ±   53.744  ops/msJpa.one2Many                              thrpt    5    92.168 ±  111.591  ops/msJpa.pageQuery                             thrpt    5    58.756 ±   48.056  ops/msMyBatis.addEntity                         thrpt    5    40.533 ±   12.461  ops/msMyBatis.complexMapping                    thrpt    5   106.348 ±   57.688  ops/msMyBatis.executeTemplateSql                thrpt    5    46.953 ±   13.541  ops/msMyBatis.getAll                            thrpt    5     5.394 ±    0.502  ops/msMyBatis.getEntity                         thrpt    5    45.303 ±   11.928  ops/msMyBatis.lambdaQuery                       thrpt    5    23.756 ±   13.613  ops/msMyBatis.pageQuery                         thrpt    5    16.190 ±    5.682  ops/msMyBatis.sqlFile                           thrpt    5    42.558 ±   18.025  ops/msSqlUtils.addEntity                        thrpt    5   232.501 ±  332.656  ops/msSqlUtils.executeJdbcSql                   thrpt    5   682.610 ±  171.506  ops/msSqlUtils.getAll                           thrpt    5    44.353 ±    4.346  ops/msSqlUtils.getEntity                        thrpt    5   643.873 ±  131.587  ops/msWood.addEntity                            thrpt    5   105.097 ±   79.961  ops/msWood.executeJdbcSql                       thrpt    5   127.020 ±   48.142  ops/msWood.executeTemplateSql                   thrpt    5   129.193 ±   44.455  ops/msWood.getAll                               thrpt    5     2.051 ±    0.524  ops/msWood.getEntity                            thrpt    5   126.104 ±   41.976  ops/msWood.lambdaQuery                          thrpt    5   125.013 ±   43.991  ops/msWood.pageQuery                            thrpt    5   220.101 ±   90.028  ops/msWood.sqlFile                              thrpt    5   132.431 ±   50.141  ops/ms

点赞(0) 打赏

立即下载

相关下载

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部