PageSourceSearch

http://ibeetl.com/assets/index.html-BOVvX-uo.js

js ibeetl.com collected 2026-10-03 23:21:18 UTC 24,338 bytes, 71 lines download raw bytes

1import{_ as t,c as n,b as a,o as e}from"./app-CNefOTx1.js";const i={};function l(p,s){return e(),n("div",null,s[0]||(s[0]=[a(`<p>BeetlSQL 研发自 2015 年,核心和生态扩展全部自研。目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,入门快。</p><p><a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttp%3A%2F%2Fibeetl.com%2Fnotes%2Fbeetlsql%2F" target="_blank" rel="noopener noreferrer">阅读文档</a> <a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%3A%2F%2Fgitee.com%2Fxiandafu%2Fbeetlsql" target="_blank" rel="noopener noreferrer">源码和例子</a> <a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttp%253A%252F%252F121.42.237.11%253A8080%252Fbeetlsql_online%252F" target="_blank" rel="noopener noreferrer">在线体验</a> <a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttp%3A%2F%2Fibeetl.com%2Fnotes%2Fbeetlsql%2Ftenant%2F%23%25E5%258D%2595%25E5%25BA%2593%25E5%258D%2595%25E8%25A1%25A8%25E5%25A4%259A%25E7%25A7%259F%25E6%2588%25B7" target="_blank" rel="noopener noreferrer">多库使用</a> <a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%3A%2F%2Fgitee.com%2Fxiandafu%2Fbeetlsql%2Ftree%2Fmaster%2Fsql-jmh" target="_blank" rel="noopener noreferrer">性能测试</a> <a href="https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%3A%2F%2Fwww.oschina.net%2Faction%2FGoToLink%3Furl%3Dhttps%253A%252F%252Fplugins.jetbrains.com%252Fplugin%252F15097-beetlsql-support" target="_blank" rel="noopener noreferrer">插件支持</a></p><p>本次发布新增BeetlSQL与JOOQ集成,补充BeetlSQL在多表联合查询的类型安全SQL的不足。又能发挥BeetlSQL在对查询结果提供自动后处理的优势</p><p>JOOQ(Java Object Oriented Querying) 是一个Java 生态的开源 SQL 构建与数据访问库,主打类型安全 SQL + 数据库优先 + 代码生成</p><div class="language-java line-numbers-mode" data-ext="java" data-title="java"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">JooqHelper</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> jooqHelper</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"> =</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;"> new</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;"> JooqHelper</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">sqlManager</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span></span>
2<span class="line"></span>
3<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">ReLog</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> reLog</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">=</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;"> jooqHelper</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">queryOne</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">ReLog</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">class</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">,</span></span>
4<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">    create </span><span style="--shiki-light:#999999;--shiki-dark:#666666;">-&gt;</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">    create</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">select</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">().</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">from</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">ORDER_LOG</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">).</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">where</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">ORDER_LOG</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#B07D48;--shiki-dark:#BD976A;">VERSION</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">.</span><span style="--shiki-light:#59873A;--shiki-dark:#80A665;">eq</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">(</span><span style="--shiki-light:#2F798A;--shiki-dark:#4C9A91;">100</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">))</span></span>
5<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>Maven</strong></p><div class="language-xml line-numbers-mode" data-ext="xml" data-title="xml"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">dependency</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
6<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">    &lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">groupId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">com.ibeetl</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">groupId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
7<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">    &lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">artifactId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">sql-jooq</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">artifactId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
8<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">    &lt;</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">version</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">3.40.0-RELEASE</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">version</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
9<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;">&lt;/</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">dependency</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">&gt;</span></span>
10<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">Xml</span></span>
11<span class="line"><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">代码解读复制代码</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>BeetlSQL 核心功能</strong></p><table><thead><tr><th>
11BeetlSQL 核心</th><th>功能</th></tr></thead><tbody><tr><td>sql-core</td><td>核心包,封装了 JDBC 操作,SQL 文件管理,注解的注解管理</td></tr><tr><td>sql-fetch</td><td>类似 Hibernate 那样提供 @Fetch,@FetchMany,@FetchOne 等注解</td></tr><tr><td>sql-mapper</td><td>mapper 类定义和扩展,用户可以自定义自己的 mapper 和 mapper 的注解</td></tr><tr><td>sql-intergration</td><td>整合 Spring,solon,jfinal 等框架,以及例子</td></tr><tr><td>sql-query</td><td>Query 和 LambdaQuery,用 Java API 构造和使用 SQL</td></tr><tr><td>sql-mapping</td><td>支持单表,多表与 POJO 的互相映射,支持 json 定义,xml 定义映射方式,或者约定习俗</td></tr><tr><td>sql-template</td><td>Beetl 模板实现,且支持其他模板语言</td></tr><tr><td>sql-gen</td><td>代码生成抽象包,并提供默认实现可以生成 dao,sql 文件,md 文档</td></tr><tr><td>sql-db-support</td><td>各种数据库的测试和验证,支持 33+ 数据库。</td></tr><tr><td>sql-samples</td><td>包含了上百个使用 beetlsql 的例子</td></tr><tr><td>sql-test</td><td>包含了上百个单元测试例子</td></tr></tbody></table><p><strong>BeetlSQL 最新扩展包</strong></p><table><thead><tr><th>BeetlSQL 扩展包</th><th>功能</th></tr></thead><tbody><tr><td>sql-xml</td><td>高仿 myabtis 的 xml 语法,如果喜欢使用 xml 写 sql 模板的,可以使用此扩展包</td></tr><tr><td>sql-accelerator</td><td>性能加速包,通过反射优化,缓存,让 beetlsql 性能提升 50%-200%,接近一半手写 JDBC 的性能</td></tr><tr><td>sql-firewall</td><td>sql 防火墙,避免不小心写的 sql 破坏数据库</td></tr><tr><td>sql-dynamic-table</td><td>支持像访问静态表格那样防火动态表格,简化动态创建表格的业务需求开发</td></tr><tr><td>sql-bean-encrypt</td><td>支持 @MD5 ,@AES 等对字段加密解密</td></tr><tr><td>sql-rewrite</td><td>采用 sql 重写,支持单表多租户,多表多租户等模式,支持逻辑删除,数据权限功能</td></tr><tr><td>sql-template-sugar</td><td>模版语法糖,增加了 and or asc,desc,set 等格式化函数</td></tr><tr><td>sql-jooq</td><td>jooq集成,支持多表联合查询的类型安全SQL编写</td></tr></tbody></table><p>使用加速扩展性能优化结果:能达到近一半手写 JDBC 的性能</p><table><thead><tr><th>查询</th><th>测试内容</th><th>BeetlSQL(ops/ms)</th><th>纯 jdbc</th><th>mybatis</th><th>JPA</th></tr></thead><tbody><tr><td>beetlsqlExecuteJdbc</td><td>直接执行 JDBC</td><td>318</td><td>678</td><td>/</td><td>64</td></tr><tr><td>beetlsqlExecuteTemplate</td><td>执行 SQL 模板</td><td>268</td><td>/</td><td>44</td><td>66</td></tr><tr><td>beetlsqlFile</td><td>SQL 存放在文件统一管理</td><td>266</td><td>/</td><td>41</td><td>/</td></tr><tr><td>beetlsqlInsert</td><td>插入一条</td><td>129</td><td>248</td><td>43</td><td>59</td></tr><tr><td>beetlsqlGetAll</td><td>获取所有数据</td><td>13</td><td>40</td><td>4</td><td>5</td></tr><tr><td>beetlsqlLambdaQuery</td><td>Java 函数编写 SQL 执行查询</td><td>196</td><td>/</td><td>9</td><td>/</td></tr><tr><td>beetlsqlPageQuery</td><td>翻页查询</td><td>159</td><td>/</td><td>17</td><td>59</td></tr><tr><td>beetlsqlSelectById</td><td>查询一条</td><td>259</td><td>670</td><td>43</td><td>61</td></tr></tbody></table><p>JMH 性能测试</p><div class="language-auto line-numbers-mode" data-ext="auto" data-title="auto"><button class="copy" title="Copy code" data-copied="Copied"></button><pre class="shiki shiki-themes vitesse-light vitesse-dark vp-code"><code><span class="line"><span>Benchmark                                  Mode  Cnt     Score      Error   Units</span></span>
12<span class="line"><span>Beetl.addEntity                           thrpt    5   133.190 ±   38.548  ops/ms</span></span>
13<span class="line"><span>Beetl.complexMapping                      thrpt    5   236.289 ±  288.370  ops/ms</span></span>
14<span class="line"><span>Beetl.executeJdbcSql                      thrpt    5   298.657 ±   80.480  ops/ms</span></span>
15<span class="line"><span>Beetl.executeTemplateSql                  thrpt    5   251.418 ±   77.757  ops/ms</span></span>
16<span class="line"><span>Beetl.getAll                              thrpt    5    14.531 ±    0.605  ops/ms</span></span>
17<span class="line"><span>Beetl.getEntity                           thrpt    5   359.275 ±   85.099  ops/ms</span></span>
18<span class="line"><span>Beetl.lambdaQuery                         thrpt    5   187.228 ±   59.697  ops/ms</span></span>
19<span class="line"><span>Beetl.one2Many                            thrpt    5   178.041 ±  181.829  ops/ms</span></span>
20<span class="line"><span>Beetl.pageQuery                           thrpt    5   148.982 ±   39.327  ops/ms</span></span>
21<span class="line"><span>Beetl.sqlFile                             thrpt    5   249.206 ±  100.083  ops/ms</span></span>
22<span class="line"><span>DBVisitor.addEntity                       thrpt    5    99.294 ±   33.564  ops/ms</span></span>
23<span class="line"><span>DBVisitor.executeJdbcSql                  thrpt    5   185.177 ±   50.993  ops/ms</span></span>
24<span class="line"><span>DBVisitor.executeTemplateSql              thrpt    5     3.189 ±    0.748  ops/ms</span></span>
25<span class="line"><span>DBVisitor.getAll                          thrpt    5     3.163 ±    0.980  ops/ms</span></span>
26<span class="line"><span>DBVisitor.getEntity                       thrpt    5   125.683 ±   44.190  ops/ms</span></span>
27<span class="line"><span>DBVisitor.lambdaQuery                     thrpt    5    94.314 ±   38.499  ops/ms</span></span>
28<span class="line"><span>DBVisitor.pageQuery                       thrpt    5    49.954 ±   18.254  ops/ms</span></span>
29<span class="line"><span>EasyQuery.addEntity                       thrpt    5    98.904 ±   39.890  ops/ms</span></span>
30<span class="line"><span>EasyQuery.complexMapping                  thrpt    5    67.397 ±   59.919  ops/ms</span></span>
31<span class="line"><span>EasyQuery.executeJdbcSql                  thrpt    5   243.160 ±   48.080  ops/ms</span></span>
32<span class="line"><span>EasyQuery.getAll                          thrpt    5    14.896 ±    2.219  ops/ms</span></span>
33<span class="line"><span>EasyQuery.getEntity                       thrpt    5   134.370 ±   67.9
3362  ops/ms</span></span>
34<span class="line"><span>EasyQuery.lambdaQuery                     thrpt    5   137.292 ±   53.438  ops/ms</span></span>
35<span class="line"><span>EasyQuery.one2Many                        thrpt    5    75.083 ±   53.738  ops/ms</span></span>
36<span class="line"><span>EasyQuery.pageQuery                       thrpt    5    84.596 ±   46.942  ops/ms</span></span>
37<span class="line"><span>Flex.addEntity                            thrpt    5    86.484 ±   40.022  ops/ms</span></span>
38<span class="line"><span>Flex.getAll                               thrpt    5     2.926 ±    0.993  ops/ms</span></span>
39<span class="line"><span>Flex.getEntity                            thrpt    5    73.445 ±   39.437  ops/ms</span></span>
40<span class="line"><span>Flex.pageQuery                            thrpt    5    33.999 ±   26.776  ops/ms</span></span>
41<span class="line"><span>Jdbc.addEntity                            thrpt    5   225.223 ±  304.585  ops/ms</span></span>
42<span class="line"><span>Jdbc.executeJdbcSql                       thrpt    5   691.616 ±  145.280  ops/ms</span></span>
43<span class="line"><span>Jdbc.getAll                               thrpt    5    35.827 ±    7.295  ops/ms</span></span>
44<span class="line"><span>Jdbc.getEntity                            thrpt    5   678.791 ±  165.527  ops/ms</span></span>
45<span class="line"><span>Jpa.addEntity                             thrpt    5    53.219 ±   78.543  ops/ms</span></span>
46<span class="line"><span>Jpa.executeJdbcSql                        thrpt    5    60.734 ±   61.299  ops/ms</span></span>
47<span class="line"><span>Jpa.executeTemplateSql                    thrpt    5    64.478 ±   48.688  ops/ms</span></span>
48<span class="line"><span>Jpa.getAll                                thrpt    5     4.710 ±    2.062  ops/ms</span></span>
49<span class="line"><span>Jpa.getEntity                             thrpt    5    56.325 ±   53.744  ops/ms</span></span>
50<span class="line"><span>Jpa.one2Many                              thrpt    5    92.168 ±  111.591  ops/ms</span></span>
51<span class="line"><span>Jpa.pageQuery                             thrpt    5    58.756 ±   48.056  ops/ms</span></span>
52<span class="line"><span>MyBatis.addEntity                         thrpt    5    40.533 ±   12.461  ops/ms</span></span>
53<span class="line"><span>MyBatis.complexMapping                    thrpt    5   106.348 ±   57.688  ops/ms</span></span>
54<span class="line"><span>MyBatis.executeTemplateSql                thrpt    5    46.953 ±   13.541  ops/ms</span></span>
55<span class="line"><span>MyBatis.getAll                            thrpt    5     5.394 ±    0.502  ops/ms</span></span>
56<span class="line"><span>MyBatis.getEntity                         thrpt    5    45.303 ±   11.928  ops/ms</span></span>
57<span class="line"><span>MyBatis.lambdaQuery                       thrpt    5    23.756 ±   13.613  ops/ms</span></span>
58<span class="line"><span>MyBatis.pageQuery                         thrpt    5    16.190 ±    5.682  ops/ms</span></span>
59<span class="line"><span>MyBatis.sqlFile                           thrpt    5    42.558 ±   18.025  ops/ms</span></span>
60<span class="line"><span>SqlUtils.addEntity                        thrpt    5   232.501 ±  332.656  ops/ms</span></span>
61<span class="line"><span>SqlUtils.executeJdbcSql                   thrpt    5   682.610 ±  171.506  ops/ms</span></span>
62<span class="line"><span>SqlUtils.getAll                           thrpt    5    44.353 ±    4.346  ops/ms</span></span>
63<span class="line"><span>SqlUtils.getEntity                        thrpt    5   643.873 ±  131.587  ops/ms</span></span>
64<span class="line"><span>Wood.addEntity                            thrpt    5   105.097 ±   79.961  ops/ms</span></span>
65<span class="line"><span>Wood.executeJdbcSql                       thrpt    5   127.020 ±   48.142  ops/ms</span></span>
66<span class="line"><span>Wood.executeTemplateSql                   thrpt    5   129.193 ±   44.455  ops/ms</span></span>
67<span class="line"><span>Wood.getAll                               thrpt    5     2.051 ±    0.524  ops/ms</span></span>
68<span class="line"><span>Wood.getEntity                            thrpt    5   126.104 ±   41.976  ops/ms</span></span>
69<span class="line"><span>Wood.lambdaQuery                          thrpt    5   125.013 ±   43.991  ops/ms</span></span>
70<span class="line"><span>Wood.pageQuery                            thrpt    5   220.101 ±   90.028  ops/ms</span></span>
71<span class="line"><span>Wood.sqlFile                              thrpt    5   132.431 ±   50.141  ops/ms</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,15)]))}const r=t(i,[["render",l],["__file","index.html.vue"]]),h=JSON.parse('{"path":"/article/beetlsql3.30-news/","title":"BeetlSQL3.30发布,支持JOOQ","lang":"en-US","frontmatter":{"title":"BeetlSQL3.30发布,支持JOOQ","tags":["beetlsql"],"createTime":"2026/05/20 10:06:15","permalink":"/article/beetlsql3.30-news/","description":"BeetlSQL 研发自 2015 年,核心和生态扩展全部自研。目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,入门快。 阅读文档 源码和例
71子 在线体验 多库使用 性能测试 插件支持 本次发布新增BeetlSQL与JOOQ集成,补充BeetlSQL在多表联合查询的类型安全SQL的不足。又能发挥BeetlSQL在对查询结果提...","head":[["meta",{"property":"og:url","content":"http://ibeetl.com/article/beetlsql3.30-news/"}],["meta",{"property":"og:site_name","content":"闲大赋"}],["meta",{"property":"og:title","content":"BeetlSQL3.30发布,支持JOOQ"}],["meta",{"property":"og:description","content":"BeetlSQL 研发自 2015 年,核心和生态扩展全部自研。目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,入门快。 阅读文档 源码和例子 在线体验 多库使用 性能测试 插件支持 本次发布新增BeetlSQL与JOOQ集成,补充BeetlSQL在多表联合查询的类型安全SQL的不足。又能发挥BeetlSQL在对查询结果提..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2026-06-03T03:53:17.000Z"}],["meta",{"property":"article:tag","content":"beetlsql"}],["meta",{"property":"article:modified_time","content":"2026-06-03T03:53:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"BeetlSQL3.30发布,支持JOOQ\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2026-06-03T03:53:17.000Z\\",\\"author\\":[]}"]]},"headers":[],"readingTime":{"minutes":4.37,"words":1310},"git":{"updatedTime":1780458797000,"contributors":[{"name":"lijiazhi","username":"lijiazhi","email":"[email protected]","commits":2,"avatar":"https://gravatar.com/avatar/1b5114831459724ad4acc394423b4b48ecfa4a7e0659fbe07a0ce5181a1050a7?d=retro"}]},"autoDesc":true,"filePathRelative":"article/日常/beetlsql3.30-news.md","categoryList":[{"id":"92a2b5","sort":10000,"name":"article"},{"id":"d1c8f4","sort":10007,"name":"日常"}]}');export{r as comp,h as data};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.