个人觉得,JFinal中最大的方便之处是对ORM的定义和封装,降低了ORM工具的学习难度,对Model进行了极轻度的封装,既方便使用,又不减少使用的灵活性。Db+ActivedRecord对习惯使用SQL的人来说,可以用极易上手+功能强大来形容。
做Java项目的人都知道对实体数据的存取,可以按需进行分层,从Entity-DAO-Service-等,使用了JFinal后,便引发了以下对实体存取分层的思考:
第一步,项目小的情况,完全就可以使用一个类完成实体数据的存取,而且作者在代码上也给出了很好的示范,并且dao名字取得也非常的好,比如在UserModel的定义中,User dao = new User(); 这个时候Entity和dao就合体了,不用在考虑建立dao静态类,dao工厂的问题了。
第二步,在做中型项目时,觉得一个UserModel类太大了,不方便于维护和协同,可以将部分方法拆分开来,第一步的dao不要去管他,让它去完成基本的dao功能吧,对于复杂点的功能和调用,我们可以放到UserJdbc中去,因为这里会出现很多的SQL,这里可以展现JFinal对SQL使用的极致,因此取了这个名字。你也可以取其他的名字,当然最好不要叫UserDao(因为已经有User.dao可以使用了)。下面这个示范也许会帮助你:
public enum UserJdbc {
instance;
public void yourMethods() {
.....
}
......
}
第三步,当你的项目够大,或者你习惯于分层,或觉得分层很有必要,你可以再独立出UserService类。JFinal同样能够胜任你的项目。
如果你有什么问题,直接和JFinal的作者联系吧,他总会给你满意的答复。---:::)))