2019-05-13 16:36

@crazykids paginate 方法中才涉及 boolean isGroupBy 参数,而且是最外层有 group by 才会用到

其它方法与 isGroupBy 参数完全无关,无需考虑

2019-05-13 16:21

@crazykids Db.update("truncate table table_name");

慎用,除非确定该表的数据要清掉

Db.update 方法可以执行 sql 并且可以带参,活用这个方法可以实现很多功能。

2019-05-13 15:38

me.setBaseDownloadPath(...) 没有配置时,renderFile 默认以 webapp/download 为根去找文件

Constants.java 源代码的 setBaseDownloadPath(...) 已经说的很详细:

设置文件下载基础路径,当路径以 "/" 打头或是以 windows 磁盘盘符打头, 则将路径设置为绝对路径,否则路径将是以应用根路径为基础的相对路径

例如:
1:参数 "/var/www/download" 为绝对路径,下载文件存放在此路径之下
2:参数 "download" 为相对路径,下载文件存放在 PathKit.getWebRoot() + "/download" 路径之下

你可以选择是以相对路径还是绝对路径配置一下,然后 renderFile 给定好参数即可

2019-05-13 13:21

@太岳三清峰 没错

这里要注意一个问题,你的 batchSize 指定的是 100,那么每次在 100 条数据执行完成后就会提交一次事务,如果你的数据多余 100 条,那么会提交多次事务,事务提交后是不能回滚的,所以多次提交事务,如果后面出现异常,那么已提交的事务是不能回滚的

如果希望所有操作全在一个事务中,可以将 batchSize 弄成与数据量一样的值,例如:
Db.batchSave("te_timeindex",indlist, indlist.size());

上面使用了 indlist.size() 作为 batchSize,那么 JDBC 在多数情况下只会提交一次数据

使用 indlist.size() 作为 batchSize 时,如果数据量特别大,例如超过 2 万行数据,那么 JDBC 仍然可能分批提交事务,这个可能与 mysql 配置的缓冲区大小有关, 一般几千条数据在一个 batch 中没事

2019-05-13 12:11

batchSave 的事务开启方式与其它情况完全一样,仍然是 @Before(Tx.class) 或者 Db.tx

2019-05-13 11:46

为啥不 render(...)?
如果不 render, jfinal 会默认帮你调用一个 render(view) 规则是:
finalView = baseViewPath + viewPath + view;
render(finalView);

注意看文档,全都有

2019-05-13 11:07

文档中反复强调过,异常信息中也已经说得很明白:
File not found in CLASSPATH or JAR

注意后面的: CLASSPATH or JAR,并且还是大写的,表示强调

2019-05-13 11:07

engine.setToClassPathSourceFactory() 这行代码指定了从 class path 以及 jar 包内读取模板

那么 getTemplate 的时候,使用的路径是相对于 class path 的根目录,以及 jar 包的根目录

但是你的模板目录是 "E:\code\jfDemo\target\WEB-INF\classes\tpl\"

上面两个目录再以 clas path 或 jar 包为根目录, 就错到十万八千里去了。因为你的 class path 已经处在 "E:\code\jfDemo\target\WEB-INF\classes\" 之下

应该使用:
engine.getTemplate("tpl/demo.tpl");

2019-05-12 22:12

可以做得更通用一点,做成 ActionDirective,可以接受一个 url 参数,这么来用:
#action("/image/getHotelImage")

感谢分享,期待再出一个异步版本的

2019-05-11 23:05

这类 setter、getter 方法全是由生成器自动生成的,不要手动去改

重新运行一次那个生成器中的 main 方法即可自动化搞定

2019-05-11 11:11

@zz210891470 单步调试一下找原因, 目前从表面上看是没问题的

2019-05-10 19:39

信息量不足,不好猜

2019-05-10 19:38

jfinal 官方并未提供过 QuartzPlugin 这个插件,我也完全不了解这个插件

只能是找找这个插件的作者问一下,或者自己单步调试找找原因

2019-05-10 19:36

@好好学习1111 记得搞定后回来分享一下,在分享频道:
jfinal.com/share