首页
App
&
Coffee
文档
项目
分享
反馈
俱乐部
登录
注册
sql管理功能
JJfinal
2017-12-23 10:11
在手册中没看懂 *.sql应该怎么配置, 是一个项目中只能有一个*.sql还是每张表对应一个*.sql文件?
如果有多个应该怎么配置?
我这样获取的是 null , 我估计是路径都没找到 , 配置如下
项目:
JFinal
1
评论区
JFinal
2017-12-23 10:17
可以是任意多个 *.sql 文件,然后调用多次 addSqlTemplate(...) 方法分别添加进去。
也可以看一下 5.11.7 章节的最佳实践,创建一个总的 all.sql 文件,然后用 #include 指令将各个子的 *.sql 包含进来,这样只需要调用一次 addSqlTemplate("all.sql") 即可
注意,下面的 all.sql 可以随便取名,上面仅为示例
回复
JJfinal
2017-12-23 10:19
@JFinal
我懂你的意思了 我测试下 谢谢波哥
回复
JFinal
2017-12-23 10:29
@JJfinal
sql 管理功能超级好用的,现在好多小伙伴都离不开了,模板引擎生成 sql 是极其自然方便的事情,比 XML 管理 sql 方便几个数量级
回复
JJfinal
2017-12-23 10:48
Db.getSql("alluser") 我这还是打印的null, all.sql和user.sql都放在resources文件夹,all.sql内容如下
#namespace("user")
#include("user.sql")
#end
user.sql内容如下
#sql("alluser")
select * from user
#end
AppConfig.java配置如下
arp.setBaseSqlTemplatePath("all.sql");
波哥为什么我还是读不到查询所有用户的sql?
回复
JJfinal
2017-12-23 11:26
波哥用这个插件 不需要额外导jar包了吧
回复
JFinal
2017-12-23 11:35
@JJfinal
你设置了 namespace,所以得这样:
getSql("user.alluser") 得有一个 namespace 前缀,手册里面有说明
回复
JFinal
2017-12-23 11:36
@JJfinal
注意看你的 #include("user.sql") 这行是处在 #namespace("user") 之中的,自然会有一个 namespace
回复
JJfinal
2017-12-23 11:50
@JFinal
Db.getSql("alluser")和Db.getSql("user.alluser")都获取不到
回复
JJfinal
2017-12-23 11:51
打印的 都是null
回复
JJfinal
2017-12-23 12:19
@JFinal
我确定配置和文档一致 , 还用了一个user.sql的文件方式
#namespace("user")
#sql("alluser")
#end
AppConfig.java配置如下
arp.setBaseSqlTemplatePath(PathKit.getRootClassPath());
arp.setBaseSqlTemplatePath("user.sql");
打印Db.getSql("user.alluser") 为 null
这种方式只是测试一下,因为实际项目肯定会有多个*.sql文件
很不解为什么获取不到sql?
回复
JFinal
2017-12-23 13:22
@JJfinal
为什么两次 arp.setBaseSqlTemplatePath(...)
而 addSqlTemplate(...) 一次都没有
回复
JJfinal
2017-12-23 13:59
@JFinal
哇 , 我粗心了 现在没问题了 我分享出来 , 波哥威武 , 感谢波哥
回复
发送
我要反馈
热门反馈
扫码入社
也可以看一下 5.11.7 章节的最佳实践,创建一个总的 all.sql 文件,然后用 #include 指令将各个子的 *.sql 包含进来,这样只需要调用一次 addSqlTemplate("all.sql") 即可
注意,下面的 all.sql 可以随便取名,上面仅为示例