因为有用过mybatis,同时也长时间在用jfinal activerecord。
总体感觉jfinal activerecord相对比较灵活、小巧。而mybatis对持久化层相对定义得更明确,感觉规范性高一些。
对于jfinal activerecord觉得一点可以改进下:
basemodel不用写get set方法,可以直接用属性+lombok注解代替。但是我简单看了jfinal 源码,因为是以map的方式设计,不知道这个要支持是否会很麻烦
能否提供方便得结果集映射到对象得方法。现在大量的结果集转VO的代码,一直没想到比较好的方法来简化
麻烦给个思路。谢谢
项目:JFinal
jfinal 的 Model 其实是结合了传统 bean 与 map 的优点,bean 体现在 getter、setter 方法,好处不用多说, map 的优点是可以自由承载数据
model 中的 map 自由承载数据主要体现在两个方面:
1:sql 关联查询可以将其它 table 中的字段关联进来
2:可以通过 model.put(...) 放入任意数据便于在 view 层展示
以上两个特性是传统 bean 无论如何也无法实现的
至于 model 转 VO, 稍微用用反射就可以做到了,主要流程如下:
1:获取 VO 的所有 setter 方法
2:对 setter 方法进行循环,得到属性名,从 model 中取出数据,再放入 VO
model.get(属性名) 可很容易获取数据
3:将反射结果存到缓存,提升性能