2018-10-20 17:13

@路桥伊人 检查一下这张表的映射代码指定了 "uid" 为主键没
activeRecordPlugin.addMapping("user", "uid", User.class);

映射工作可以是自动话的,估计你没有使用 jfinal 的生成器。 生成器会自动映射好 "uid" 这个值,如果是手动映射就要自己将这个值填在第二个参数处

在首页下载 jfinal demo,里面有生成器,改改配置即可使用

2018-10-20 13:35

@cmo 感谢分享 ^_^

2018-10-20 13:20

@cmo 这个功能很多人需要的,二维码加 logo,这个是硬需求

2018-10-20 12:43

功能很实用,代码开源了不?

2018-10-19 18:00

Db.tx( () -> {
Db.update("update t1 set f1 = ?", 123);
service.update();
return true;
});

2018-10-19 17:59

@fansunion 用 java 8 的 lambada 来写这类代码,省掉三分之一的代码

2018-10-19 17:24

DruidPlugin 有一个配置 : DruidPlugin.setRemoveAbandoned(false)

默认值不会出这个问题,你应该是改了这个默认,改默认也可以,使用这个方法将值调大:
DruidPlugin.setRemoveAbandonedTimeoutMillis(3 * 60 * 60 * 60 * 1000)
调成上面的 3 个小时,当然这个只是示例,具体调成多少你自己根据需求决定

这个配置的含义在 DruidPlugin 中有说明:
// 是否打开连接泄露自动检测
private boolean removeAbandoned = false;
// 连接长时间没有使用,被认为发生泄露时长
private long removeAbandonedTimeoutMillis = 300 * 1000;

此外,搜索异常中的 cause 部分, 到处都是解决方案:
https://blog.csdn.net/lzwglory/article/details/73301886
https://blog.csdn.net/wo8553456/article/details/40396401
https://www.cnblogs.com/dimple91/p/9124653.html
http://blog.sina.com.cn/s/blog_544c72960102w2lm.html
http://timerbin.iteye.com/blog/2332995

2018-10-19 16:47

用 Db.tx(...) 即可

如果不用这个,还有两个方向:
1:想办法让 jfinal 的 Tx 拦截器起作用
2:交给 spring 管理事务

2018-10-19 16:46

异常信息没有提供 cause 部分, 猜不到

2018-10-19 15:11

#(fruit.price ?? fruit.default)

2018-10-19 14:46

看一下路由规则, index() 方法在路由中会省去:
http://www.jfinal.com/doc/2-3

2018-10-19 13:30

@fanxil jetty 不需要自己引入依赖, jetty-server 中已经处理过了

2018-10-19 12:00

此外,你的两个截图,一个中没加版本号,一个加了, 到底哪个是真的?

2018-10-19 11:59

截图中有关 jetty-server 的依赖都是错的,并且多出来一个 jetty-server-8.1.8 这个依赖更是错得离谱

此外, jetty-server 的依赖内部缺少很多其它依赖

估计是你本地 maven 库中下载的时候出现了问题,找到本地 maven 库的 jetty-server 目录,删掉 2018.11 那个目录,让 maven 重新下载一次

2018-10-19 11:31

看一下微信官方的文档有没有提供相关 API 来设置,如果有的话 jfinal weixin 就会做进去,没有的话肯定没法做