2019-06-03 19:11

@maxwade jfinal 作为严肃认真的框架,必须考虑各种极端情况

2019-06-03 16:37

@zeroabc 下载最新版 jfinal-4.2-all.zip

2019-06-03 11:50

@CliveNo.1 大致方法是通过继承 DbPro, 覆盖掉 batchSave 方法,然后里面添加序列的判断,在我的个人收藏中还真找到了:
http://www.jfinal.com/share/1601

2019-06-03 11:47

@CliveNo.1 batch 系的方法确实不支持序列,社区有一个分享可以支持,可以搜索一下

2019-06-03 11:46

Db.update("delete from table_name where q=? and b=? ", 123, 456);

使用 Db.delete(...) 也可以

jfinal 独创的 Db + Record 模式操作数据库就是这么简单方便,里面还有更多好用的 API:
https://www.jfinal.com/doc/5-5

2019-06-03 11:44

@蓝胖纸 使用 setSourceFactory(new ClassPathSourceFactory()) 完全一样

建议升级到最新版本,因为老版本你还需解决这个问题:
http://www.jfinal.com/share/979

jfinal enjoy 模板引擎的用法这两年没变过,所以可以平滑升级,可以使用独立发布的版本,大概只有 170KB 左右,无第三方依赖

2019-06-03 10:51

根据异常解决问题,通常是路径不对,或者文件名不对

与 Spring 整合要注意 baseTemplatePath 配置问题,如果是 springboot ,模板文件是放在 src/main/resources 目录下面的,注意配置好 baseTemplatePath

此外注意,配置模板加载方式,默认是从文件系统中加载,可以配置成从 class path 与 jar 包中加载:
jfr.setSourceFactory(new ClassPathSourceFactory());

文档中都有:
https://www.jfinal.com/doc/6-10

2019-06-03 10:05

下面这行代码一定要去掉:
arp.setBaseSqlTemplatePath(PathKit.getRootClassPath());

因为 jfinal 高版本默认为 sql 模板管理的 Engine 对象进行了如下配置:
arp.getEngine().setToClassPathSourceFactory();

这个配置会让模板引擎去 class path 和 jar 包找模板文件,而无需配置 baseSqlTemplatePath

2019-06-03 10:03

有专门的文档介绍过这么使用:
https://www.jfinal.com/doc/5-15

2019-06-03 10:01

A 注入 B,B 注入 C , C 再注入 A ,这样就形成了循环注入,jfinal 对这种情况是完美处理,没多注入一层,也没少注入一层

此处的 ThreadLocal 仅用于检测循环注入的发生

最极端的循环注入是:A 注入 B,B 注入 A

你使用这种最极端的情况单步调试一下 jfinal 的这段代码,自然就清楚其原理了

2019-06-02 17:04

@April761 record.getInt("file_id") record.getStr("name");

反馈错发到了分享频道,这个贴子随后会被删除,请知悉

2019-06-02 15:59

将 sql 写好即可:
Db.find("select file_name, fiel_id from xxx where id = ?", 123);

2019-06-02 15:53

这是高手

2019-06-02 09:40

分页的问题一定要仔细看文档:
https://www.jfinal.com/doc/5-6

文档里头分析了所有可能出错的情况,甚至讲了分页原理

2019-06-02 09:00

@it1728166827 对这六个回调方法做成可配置的,这个方案很久以前确实考虑过,考虑到学习成本问题,还是没采用,一般来说让 configPlugin 的次序变成可配置的,其它是固定的,使用上没有多少问题

如果让所有的回调都可以配置次序,也会引发问题,例如 configRoute 中要用到 configInterceptor 中配置的全局拦截器,所以必须要有一个先后关系