2017-04-19 17:20

@曾经的信念 注意看 jfinal 3.0 手册第一章的升级有关的内容,变动很少,升级很平滑

2017-04-19 11:22

@ihss23 感谢你的支持

2017-04-19 10:54

前天有个小伙伴,也为 druid 做了一个 filter,也是没生效,他单步调试到了 DruidDataSource 内部,发现 filter 是存在的,证明与 jfinal 是无关的

jfinal 本质上只是将你写的 Log4jFilter 直接转交给了 druid,并未做任何干预,建议你看一下 druid 的官方文档,或许升级一下 druid 的 jar 包就可以了

2017-04-19 10:48

整站信息在个人中心会整合为一个信息流,就像微信朋友圈、facebook newsfeed、微博的核心都是 newsfeed,这个模块与所有内容产生业务都有关联,不是一句两句能说得清楚的

所以不得不打个官方广告:加入俱乐部,不仅立即就明白了怎么来做,而且拥有现成的代码直接用

2017-04-19 10:45

@ihss23 可以这样理解,随着使用时间的推移,理解会更深入,我前面讲的是基本区别,还有其它一些以后慢慢体会,例如 Model 中可以写与本 model 逻辑有关的一些代码,而 Record 是固定的一个类文件,不能在里面添加东西

2017-04-18 22:25

没错的,就是 base64 的数据多了, parameter 打印耗时,升级到 jfinal 3.0 已经对长度做了限制,也有参数可以进行配置

2017-04-18 17:19

一、Model
1:model 采用的是 active record 模式,该模式的核心是一个 model 对象唯一对应一条数据表记录,对应的机制是采用主键

2:由于 model 对象与数据表记录通过主键建立了唯一对应的关系,所以可以提供 model.update()、model.delete() 这种操作方式

3:model 内部可以创建额外的方法完成一定的逻辑,还可以用生成器生成 getter、setter 方法,对于属性的读写提供了便利

二、Db + Record
1:Record 对象并没有与某个数据表建立关联,而是在使用的时候,使用参数临时与某个表建立联系,例如: Db.save("user", new Record().set("userName", "james");

2:由于某个 Model 对象与条记录建立了关联,所以对于需要批量更新数据表数据的操作不太方便,例如更新 account 表中的 cash 字段,让每条记录全是增长 10 块钱的用法:
Db.update("update account set cash = cash + 10")

在大部分情况下尽量使用 Model 可以搞定需求,当 Model 搞不定时,例如需要批量更新、删除时,用一下 Db + Record 模式作为补充

2017-04-17 21:53

既然是复合主键,那使用 model.update() 时就必须全都指定,否则会出问题,如果你一定要这么用,只能用 Db + Record 模式来做一下

2017-04-17 17:27

扩展一下 EvictInterceptor 拦截器,让其支持 CacheName 可以配置多个:
@CacheName("nameAaa, nameBbb")

在扩展的 EvictInterceptor 之中,对逗号进行一次 splite 操作,然后删多个缓存

2017-04-17 12:57

@zzhkiller 加入俱乐部的时候,系统会发送一条私信给你,按照私信操作即可获取俱乐部专享 qq 群

2017-04-16 20:45

@Jammy change log 整理中

2017-04-16 20:21

@Irin.Chan @cknote @sruz @elber25977 @Jammy 俱乐部已发布内测版,玩得正 high

2017-04-16 09:51

很明显是你的 com.google.zxing 这个 jar 版本不对,在首页下载 jfinal-3.0-all.zip,使用其中的 jar 包,或者看一下 jfinal 项目 pom.xml 中对 zxing 引入的版本

如果版本确实对了,可能是 jar 包有冲突,例如可能是还有别的渠道对 zxing 有依赖,而这个别的渠道优先级更高

2017-04-14 15:46

Cron4jPlugin 动态化去创建和启动,然后再动态化的调用其 stop() 方法即可停掉,开发一个管理功能对这些 Cron4jPlugin 进行管理就可以了

2017-04-14 10:34

在拦截器中确保 inv.invoke() 这一行代码被调用即可打完收枪

如果希望更了解,在首页下载 jfinal 手册,两个小时上手开发