sql管理功能

image.png

在手册中没看懂 *.sql应该怎么配置,  是一个项目中只能有一个*.sql还是每张表对应一个*.sql文件?

如果有多个应该怎么配置?

image.pngimage.png

image.png

我这样获取的是 null , 我估计是路径都没找到 , 配置如下

image.png

评论区

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 哇 , 我粗心了 现在没问题了 我分享出来 , 波哥威武 , 感谢波哥

热门反馈

扫码入社