2019-04-17 17:40
@正负余 升级文档中详细说明过这个问题:
https://www.jfinal.com/doc/14-1
简单一句话就是:jfinal 3.6 默认帮你调用了一次:
arp.getEngine().setToClassPathSourceFactory();
所以,默认会去 class path 和 jar 包之中找 sql 文件
2019-04-17 17:18
要仔细搞清楚这个问题,需要知道如下几点:
1:sql 管理使用的是 Enjoy 模板引擎管理 sql 文件
2:sql 管理使用的 Engine 对象被默认配置了 engine.setToClassPathSourceFactory()
也就是说会去 class path 和 jar 包中找 sql 文件
3:标准 maven 项目的 src/main/resources 目录默认也可以认为是 class path,因为该目录下面的所有文件会被 copy 到 class path 之下
4:如果碰到与路径有关的问题,看一下 enjoy 引擎的文档:
https://www.jfinal.com/doc/6-2
注意这一小节《6、从 class path 和 jar 包加载模板配置》
碰到问题不要乱猜,要知道原由
2019-04-17 17:15
@正负余 你仔细看一下 jfinal club 最新版本中的用法
#include("/front/agentUser.sql") 这行代码,你要确保 agentUser.sql 文件在 all_sqls.sql 文件所在目录的 front 子目录以下
2019-04-17 10:24
分两种情况:
1:select 后面只有一个字段,根据字段返回值选择泛型值
例如:
字段返回值是 String 类型,可以这么来用:
List<String> list = Db.query("select title from blog limit 1");
字段返回类型是 Integer 型,可以这么来用:
List<Integer> list = Db.query("select id from blog limit 1");
2:select 后面有多个字段,只能使用 List<Object[]>
List<Object[]> list = Db.query("select id, title, content from blog limit 1");
说白了,你的返回值变量要根据具体的返回值去变动,在开发的过程中试用一下就知道了