2020-07-13 15:17

并不多余,因为 batchSize 可以设置为小于 recordList.size(), 从而可以分多次提交数据

该参数用于开启事务时,避免由于 batchSize 过大导至的自动提交,从而无法回滚

2020-07-13 14:51

@zzutligang 支付这种事跟微服务类似,涉及到多个服务之间的调用、协调,成本自然会很高

这也是为啥 jfinal 到现在也不趟微服务这滩浑水的主要原因之一

2020-07-13 12:34

项目开源没有?

2020-07-13 12:33

@lzw0128 退款对安全性要求很高,所以需要使用证书

2020-07-13 12:32

@zzutligang 你没加入 jfinal 俱乐部,搞微信支付当然就累了。

支付这种代码在 jfinal 俱乐部都是现成的, 我亲手写的代码,拿来即用

2020-07-13 11:40

看上去是 URL 有错误, url 后面多了 IP v6 地址,仔细调试一下

开发与微信平台交互的项目,一定要先搭建一个调试环境,参考我的博客:
https://my.oschina.net/jfinal/blog/336861

2020-07-12 18:36

当然, sql 也写在业务层:

public class UserService {
User dao = new User().dao();

public User getUserByEmail(String email) {
return dao.findFrist("select * from `user` where email = ?", email);
}

...
}

2020-07-12 18:34

jfinal 的 Model 已经帮你实现了 dao 层的事,所以你在用 jfinal 开发的时候无需再自建 dao 层,只需在业务层中这样来用:

public class UserService {
User dao = new User().dao();

public User register(String userName, String password) {
dao.findFirst(...);
}
}

2020-07-11 16:52

最好的办法是在开发的时候将模板放在 src/main/resources 目录或者其子目录下面,然后只需要配置一个 engine.setToClassPathSourceFactory() ,engine.setBaseTemplatePath(...) 基本就搞定了

不要在开发的时候模板放在 webapp 下,而打包时放在 src/main/resources 下,这样增加了一些麻烦

2020-07-11 16:50

下载首页的 jfinal_demo_for_maven.zip,里面有一个打成 fatjar 的文档,严格那照里面的步骤来即可

2020-07-11 16:46

这个需求太偏应用了,好好修改主字段值就好

2020-07-10 23:57

DruidPlugin 中有很多可以配置的属性,其中很多都写了注释:
https://gitee.com/jfinal/jfinal/blob/jfinal-4.9/src/main/java/com/jfinal/plugin/druid/DruidPlugin.java

根据注释选择需要的配置,我记得是可以实现你需要的 keepalive 功能的

其实连接池有一个基本功能就是实现 keepalive

2020-07-10 21:14

刚刚已经改进了这里:
https://gitee.com/jfinal/jfinal/commit/900b4ac402bcdc1e2fb3c9bec08a9c9e6493689f

用下面的方法用上最新版本:
https://jfinal.com/share/2093

然后尽快给我反馈,这样可以确保线上的版本是没问题的

除了你反馈的 hgetCounter 以外,顺便改进了 getCounter 这个方法,希望你也帮忙试一试

2020-07-10 16:40

getFile("file"); 中的参数 "file" 对应于你客户端的 elem: '#file',进而对应你的 input type="file" name="flile" 的表单域

解决办法是,要么让前端的 name = 的值与 getFile 参数一致,要么不带参,例如:
getFile();
getFiles();

2020-07-10 16:38

引起该异常的原因有两个:

1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。

2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。

参考这里:
https://www.cnblogs.com/insane-Mr-Li/p/11114578.html