2017-10-17 17:13

@JFinal9527 数据库的自增主键用得比较多。如果你需要自行生成主键,通常是数据库生成的主键没法满足你的需求,既然没法满足,那么自己完全把控主键的生成更符合需求

2017-10-17 16:58

@梦下花开 不是不支持,而是你把 JFinal.start(....) 的最后一个 int 型参数去掉了,去掉这个参数本身就是不支持的,必须要添加上那个参数

2017-10-17 16:17

@mekain 事情太多了,一直顾不上,现在可以通过下面的关键词在百度里专搜索本社区的内容:
"关键词" site:jfinal.com

也就是说在关键词后面添加一个 site:jfinal.com 限定搜索结果来源于 jfinal.com

2017-10-17 15:29

从贴子中只能看出来是开发环境与部署环境不同造成的, tomcat 下部署参考一下这里:
https://my.oschina.net/jfinal/blog/353062

此外,定时任务用的什么代码? 是 jdk 自带的 Timer 还是 jfinal 带的 Cron4jPlugin ?

2017-10-17 15:27

@梦下花开 @henterchow 这个问题还不知道原因,我自己用的是 eclipse mars 这个版本

2017-10-17 15:25

paginateByFullSql 主要是用来应对 sql 中包含复杂 order by 或者包含复杂 select 的

大部分情况下直接用 pagiante 就好

2017-10-17 15:24

这种路由不符合 jfinal 路由规则,改成下面这种形式即可:
http://localhost:8080/user/86-13572915647

如果不希望改动,还有两个办法:
1:通过问号挂参的形式传参,如: /user?k1=86&k2=13572915647
2:通过 handler 将 url 转换成 jfinal 规则的路由

2017-10-17 11:33

select count(1) 即便是 int 类型,也会被 JDBC 给转成 Long 类型,这个是 JDBC 决定的

解决办法二选其一:
1:升级到 jfinal 3.2 , 这个版本对这种情况进行了自动类型转换
2:心中要清楚 count(...) 函数以后 JDBC 所返回的类型,然后使用正确的 queryXxx 方法

例如,心中知道结果是 Long 就用 queryLong,如果知道是 Integer 就用 queryInt

2017-10-17 10:12

这个在你 jfinal club 中的 ehcache.mxl 中有

2017-10-17 10:12

ehcache 的配置是需要手动配置的,如果不手动配置会自动应用上那个叫 default 的配置,这个配置无法满足个性化需求

2017-10-17 10:11

已经下载了,非常棒,感谢你的分享

2017-10-16 22:23

@betn 如果你下载的 jfinal demo,里面是有 eclipse 的配置的,所以有很多地方要改,把所有配置打开,改掉所有 jfinal-demo 字眼才可以

如果你下载的是 jfinal demo for maven 项目,只需要改一下项目的目录名,以及 pom.xml 中的相关字眼就可以

2017-10-16 22:22

生成主键建议用 java 代码去生成,制定一个不可能重复的规则就好,例如生成个订单号用:
年月日 + 小时 + 分 + 秒 + 业务类型 + hash(userId)

由于 userId 是不可能重复的,hash 以后与前面的一系列数值拼接起来几乎不可能重复,再加上这个值设置为表的主键或者联合主键,即便出现重复也无法插入数据库

2017-10-16 22:16

cron4j= newCron ,newCron2 这一行配置的两个 taskName 去掉一个就可以了,jfinal 的 Cron4jPlugin 就是根据这个入口处的 taskName 去加载 task 的

当然,最简单的办法是配置 taskName.enable = false