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;">-></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;"><</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">dependency</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></span></span> 6<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> <</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">groupId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">com.ibeetl</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"></</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">groupId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></span></span> 7<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> <</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">artifactId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">sql-jooq</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"></</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">artifactId</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></span></span> 8<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"> <</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">version</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></span><span style="--shiki-light:#393A34;--shiki-dark:#DBD7CAEE;">3.40.0-RELEASE</span><span style="--shiki-light:#999999;--shiki-dark:#666666;"></</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">version</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></span></span> 9<span class="line"><span style="--shiki-light:#999999;--shiki-dark:#666666;"></</span><span style="--shiki-light:#1E754F;--shiki-dark:#4D9375;">dependency</span><span style="--shiki-light:#999999;--shiki-dark:#666666;">></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.