2016-08-18 12:13

很可能是多个应用使用该公众号向微信服务器请求过 access token,这种情况下,只有最后一次请求到的 access token 才有效,前面请求得到的会自动失效。
这种情况通常发生在如下情形:
1:多个应用程序使用同一个公众号,并各自发起 access token 请求
2:同一个应用的不同实例使用同一个公众号
3:在公众平台上使用其官方提供的在线工具获取 access token

2016-08-18 12:09

Db.batchUpdate(...) 已然提供了支持,因为 update 这个词不仅意味着可以 delete 还意味着可以 update。
此外,通常批量删除满足条件的数据就是一个 sql 的事,这样: Db.update("delete from table where a=? and b=? and c=?", x, y, z);

2016-08-18 11:40

补充一下 Sqls 的使用方法:
find(Sqls.get("accountListSql"), p1, p2, ..., pn);

2016-08-18 11:39

sql 比较长,可以放在外部文件中,然后使用 Sqls.java 这个工具类来加载使用。注意 Sqls 这个工具类是支持的 key=value 形式的配置,多行 sql 使用 "\"字符结尾来实现换行,例如:
accountListSql = select * from account \
where accountId=? \
and age > 18
对于以上这类有很多行的 sql,放在外部文件就不存在拼接的问题,直接书写就好。

此外,有些 sql 可能需要动态生成有些变动的项目,此时可以用一下类似于 freemarker的模板来写点代码来生成动态部,最好是先建一个 FreemarkerKit 工具类

2016-08-17 18:25

jfinal 社区还有点功能完善好后,会单开一个文档频道,文档将详细到方法、参数级别,常用功能会给出示例,多多关注社区动,近两天会有大更新

2016-08-17 18:03

还没支持,上个版本添加了 JsonRender、XmlRender 的支持,忘了加这个 TextRender 的支持,建议扩展一下,别忘了回社区再分享下

2016-08-17 14:43

即便在 baseModel 中生成了这个序列化版本 ID,对你的最终 Model 并无影响,你的最终 Model 在继承 BaseModel 以后,还是要生成序列化版本 ID,否则仍然还是会警告,这时你有两个选择,一个是在最终的 model 中生成它,二个是学习 baseModel 去除警告

根据 jfinal 的极简原则,如果做一件事起不到作用,那还不如不做。此外如果不生成还可以享受 java 生成默认序列化版本 ID 值的好处,这样当 baseModel 随着表结构演化以后,版本也随之变化,避免版本出错

2016-08-17 11:22

@韦甩甩 感谢支持 jfinal 发展,多多关注社区动态,近几天社区会有很大改进

2016-08-17 11:20

@韦甩甩 fastjson 转 json 时,会对所有的 getter 方法进行处理,会将这些 getter 方法的返回值进行转换,这里的 getter 是指 public Type getXxxx() 这种 public 无参 get 方法,如果有参则不是 getter,这个是 java bean 规范

2016-08-17 10:26

@Lintel 感谢分享,个人头像换一下啊,支持下社区发展

2016-08-17 09:50

把原来老版本的使用 HashMap 的 CaseInsensitiveContainerFactory 也一同分享出来哈 ^_^

2016-08-17 09:24

@IvyHelen threadlocal 可配合拦截器使用一下

2016-08-17 09:16

@IvyHelen 解决好多线程协同的问题就好

2016-08-16 23:37

@IvyHelen jfinal 升级都很平滑,一般只是改改方法名即可,内核非常稳固,自第一个版本以来几乎没变动过内核架构

2016-08-16 23:36

@IvyHelen 当然,你也可以直接在 AppConfig 中创建 public static 属性来存放对象,供全局随时取用