2017-02-16 11:20

@三胖儿 你貌似加入过俱乐部,去俱乐部频道 下载 jfinal club 项目,里面有详细的代码

2017-02-16 11:19

升级到 jfinal 3.0,具体升级办法看一下 jfinal 手册第一章

2017-02-15 21:57

还有一个方案,是 jfinal 做决定,默认按照字典次序给排下序,但用户或许并不希望这种结果,还需要权衡

2017-02-15 21:56

@埋头苦干 注意一个事实,双主键的反射生成,拿到的主键次序不是取决于 jfinal,而是取决于 JDBC,目前的设计是相对好的选择,如果你有更好的设计方案可以提给我

2017-02-15 21:45

@埋头苦干 buildPrimaryKey() 方法得到的 resultSet 中的主键次序很可能与建表语句中指定的字段次序有关,你打开表结构观察一下

2017-02-15 20:14

@埋头苦干 用 model.find 或者 Db.find 去查询

2017-02-15 20:07

jfinal 建议对所有复合主键的表强制再指定一次复合主键的次序,确保一致性。复合主键的默认次序取决于反射得到的次序,jfinal 在开发这个功能的时候估计到未来可能出现次序不同的情况,你这次真的碰到了

2017-02-15 20:06

这种情况 jfinal 早有考虑,如果你加入了 jfinal 俱乐部,可以在 jfinal-club 项目中看到如下的代码:
ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
_MappingKit.mapping(arp);
// 强制指定复合主键的次序,避免不同的开发环境生成在 _MappingKit 中的复合主键次序不相同
arp.setPrimaryKey("document", "mainMenu, subMenu");
me.add(arp);

以上的 arp.setPrimaryKey(...) 这么代码,就是在 _MappingKit.mapping(...) 调用之后,再次强制指定复合主键的次序,这样就万无一失了

2017-02-15 17:01

在首页下载 jfinal demo,前端后端的分页都有具体的例子在这个 demo 之中,一看就懂了,如果想获取更有价值的专享资源,可以看一下俱乐部频道的介绍:http:jfinal.com/club

2017-02-15 16:49

第一次有这样从注册域名到上线项目的完整过程分享,并且项目也开源了,强烈建议有需要的朋友收藏一下该分享,感谢分享

2017-02-15 14:46

将输出到控制台的目录 copy 一下,然后在资源管理器的地址栏里面粘贴并回车就可以找到这些生成的文件了

2017-02-15 14:29

@天蓬小猪 先会使用,这也是一种很好的方式,理解会更深

2017-02-15 11:44

jfinal 以及 jfinal-club 俱乐部专享项目的代码讲解,在俱乐部成员再多些的时候会统一进行,仍然是俱乐部专享

2017-02-15 11:43

除了 jfinal template engine 这个模块涉及编译原理方面的算法,较为有难度以外,其她模块都很简单易读,只需具 java 基础知识即可。如果想看懂 template engine 模块,需要了解词法分析、语法分析、AST、语法分析等编译原理方面的知识

读源码最好的方式,是先了解项目的架构,先在心中有个宏观的认知,可以通过 jfinal 手册中的架构图去了解

在了解架构的基础之上,通过在关键代码处添加断点,进行调试便可了解程序大致的执行流程

在了解程序大致的执行流程以后,再分别在自己感兴趣的单个模块中的合适的地方设置断点,并进行单步调试,例可了解程序执行的所有细节

通过以上方式便可极为高效的了解 jfinal 源码,简单来说就是:了解架构 + 代码调试

仅仅去读代码,只是以静态的视角去了解内部,而程序运作却是动态的,所以让阅读方式从静态转变为动态是更加高效的方式

2017-02-14 15:11

improt 时,选择导入 maven 类型项目,或者去俱乐部专享群寻求帮助