2017-05-28 18:45

@杜福忠 此外,即便是用 ehcache ,也可以通过配置集群来实现数据同步,也可以学一下 oschina 红薯的开源项目 j2cache 让 ehcache 与 redis 配合实现集群

2017-05-28 18:44

@JFinal 就算你只用一个 RedisPlugin 实例,你也可以将 Ehcache 的 cacheName key 的形式转换成 redis 的 cacheName + key,将这个值的整体当成是 redis 的 key 来用

2017-05-28 18:42

@杜福忠 记得搞定后再回来分享一下,你这么来玩肯定是搞复杂了

2017-05-28 18:42

@杜福忠 多个 Cache 也不用这么玩啊, redis 是有库的概念的,为不同的 cacheName 分配到不同的 redis db 就可以了,为每个 cacheName 创建一个 RedisPlugin 对象就可以了

2017-05-28 17:34

总体上是这么玩的,但为啥要启动那么多的 redis server 实例呢? 一个不行么?

2017-05-28 16:03

@siyuan sql 中带有中文并不一定会就出现这个问题,需要我前面谈到的三个条件同时满足才会出现,碰到问题的可以来群里找我要一下代码

发布 snapshot 是个好主意,今天晚上发一个

2017-05-28 12:04

@EATI001 时间太有限了,只能做这么多了

2017-05-28 12:02

@klzz 在 maven 中可以下载,这个版本是 jfinal 改进版,不是 cos 官方出的,cos 官方早就不维护这个项目了

2017-05-28 10:45

专业的人,做专业的事,各有所长,jfinal 会尽可能集中精力做好自己的定位

2017-05-28 10:45

jfinal 定位于 MVC + ORM 框架,所以在添加功能时要保持克制,添加的功能在后续会一项非常沉重的负担,因为你需要一直维护与升级

能做好 MVC + ORM 就已经很不错了,以前添加的 redis 都有点冲动想移除出去,因为底层的 jedis 本身就做得不好, jfinal 对 jedis 进行封装以后也并不是那么好

2017-05-28 10:42

用下拦截器就好,尤其是 jfinal 3.1 版本的 Routes 级别的拦截器,用起来极其方便,看一下 jfinal 手册

2017-05-28 10:41

分页的第一页是从 1 开始的,不支持第 0 页。如果需要支持,你可以在 YourModel 中覆盖一下这个方法,不让其抛出异常,而是 return new Page(....);

2017-05-28 10:40

有很多办法,下面介绍几种简单的:
1:select 中用 as 起名别,如: select user_name as userName
2:扩展 Dialect,覆盖掉其中的 buildRecordList 方法,对字段名进行一下转换即可
3:扩展 IContainerFactory,参考一下 CaseInsensitiveContainerFactory,进行一下字段名转换

第二种与第三种方法除了要注意从数据库读数据以外,还要注意保存数据时要给将字段转成下划线

最简单省事的办法是字段名直接就是驼峰型的,早在几年前我们就是在这么做的了,极其省事

2017-05-27 18:04

这个问题,只会出现下面情况同时发生:
1:使用了 sql 管理功能
2:使用 paginate 方法
3:select 子句中带有中文

同时发生这三种事件的情况较少,目前只有两人碰到过,前面碰到这个问题的朋友已经通过我发的文件解决了