代码拉取完成,页面将自动刷新
同步操作将从 xUndefined/sql-builder 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
整个工具大小仅22KB
读取外部sql.md文件并缓存
开放SqlRenderEngine接口让您可以自己渲染原生语句
内部已集成只要引入jar包即可直接使用的模板引擎(Beetl、Freemarker)
第一步、将sqlbuilder-builder.properties拷入您项目的src文件夹下
第二步、sqlFolders 填入sql文件存放目录,多目录用逗号(,)分隔
第三步、sqlMode 选择运行模式,run模式为产品模式读取缓存速度快,没有实时性;debug为开发模式,实时监测sql文件变化改动sql无需重启
第四步、引入 sql-builder-1.1.jar 包
第五步、Java 代码内调用
// 如果您需要使用模板引擎来渲染那么
// 比如我使用beetl引擎
SqlBuilder.setEngine(new SqlBeetlEngine());
// 获取sql语句,test为文件名称,findSqlOfBeetl为语句唯一id,重名则获取第一个
String sql0 = SqlBuilder.render("test.findSqlOfBeetl");
String sql1 = SqlBuilder.render("test.findSqlOfBeetl", new SqlBuilderPara("name", "颖"), ...);
findSqlOfFreemarker
===
-- 外部sql一样可以写注释
select * from T_TEST AS i <#if order ??>ORDER BY i.date ${order} </#if>
findSqlOfBeetl
===
-- 注释2
select * from T_TEST AS i <%if (!isEmpty(name)) {%>where i.name = '${name}' <%}%>
// 设置 全局模板引擎
SqlBuilder.setEngine(new SqlBeetlEngine());
// Beetl
String sql1 = SqlBuilder.render("test.findSqlOfBeetl", new SqlBuilderPara("name", "颖"));
System.out.println("Beetl渲染:" + sql1);
// Freemarker
// 设置 单独模板引擎
String sql2 = SqlBuilder.render(new SqlFreemarkerEngine(), "test.findSqlOfFreemarker", new SqlBuilderPara("order", "DESC"));
System.out.println("Freemarker渲染:" + sql2);
Beetl渲染:select * from T_TEST AS i where i.name = '颖'
Freemarker渲染:select * from T_TEST AS i ORDER BY i.date DESC
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。