2019独角兽企业重金招聘Python工程师标准>>>

个人觉得,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的作者联系吧,他总会给你满意的答复。---:::)))

转载于:https://my.oschina.net/yongfly/blog/129951

JFinal中实体类存取之循序渐进法相关推荐

  1. Spring中实体类为什么不需要注册成bean?

    今天偶然想到一个问题,Spring中实体类为什么不需要注册成bean? 要理解为什么不用注入,首先就清楚注入的目的是什么?如果不注入,在程序中要使用某个类对象的方法,则需要去new一个对象.然后我们调 ...

  2. jfinal 生成实体类

    jfinal根据Generator生成器生成实体类: package com.ysd.test; import javax.sql.DataSource;import com.jfinal.kit.P ...

  3. idea中实体类右击没有ptg_几个牛逼的IDEA插件,Java开发者撸码神器,还带动图的!...

    来源:www.cnblogs.com/jimoer/p/8799437.html 这里只是推荐一下好用的插件,具体的使用方法就不一一详细介绍了. JRebel for IntelliJ 一款热部署插件 ...

  4. EntityFramework中实体类到表名的批量映射

    在使用EntityFramework做CodeFirst开发时,经常需要将实体类映射到数据库表,但是C#实体类和数据库表中的命名遵循的是不同的规范,这就需要为每个实体类做一个到数据库表名的映射.大多情 ...

  5. idea中实体类右击没有ptg_这些6到飞起的idea插件,你还没用过?

    工欲善其事,必先利其器. 小码仔今天为大家分享的这些idea插件都是自己在开发实战中一直使用的一些插件,真的是溜到起飞,非常的好用. 1.Alibaba Java Coding Guidelines ...

  6. java中实体类中实现Serializable接口的作用

    在开发中 我们看到实体类实现 Serializable接口 还会写上下面一句话 private static final long serialVersionUID = 1L; 它的作用是实现序列化与 ...

  7. springboot中实体类接收post请求、反序列化

    最近刚去一个公司实习感觉什么都不会,但是你不会不代表别人不布置任务.由于某个接口没有访问权限,老大让我模拟一个接口对post请求作出应答,期间也碰到很多问题.看了网上好多教程最后在同事的帮助下调试出来 ...

  8. java中element转换_java中实体类与xml的element相互转换

    import org.w3c.dom.Document; import org.w3c.dom.Element; /** * @ClassName: DemoConvert * @Author: 个人 ...

  9. Java中 实体类 VO、 PO、DO、DTO、 BO、 QO、DAO、POJO的概念

    PO(persistant object) 持久对象 在 o/r 映射的时候出现的概念,如果没有 o/r 映射,没有这个概念存在了.通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的处理.可以 ...

最新文章

  1. php文件上传空间,PHP上传文件-PHP多文件上传
  2. python基本语法语句-Python基本语法,python,基础
  3. php excel cpu高,phpexcel读文件的时候cpu99%
  4. 重学ES6 模板字符串
  5. 使用/proc/meminfo文件查看内存状态信息
  6. 解决eclipse + pydev 编译过程中有中文的问题
  7. 用matlab时提示数据写入文件期间被裁剪_用C语言简单开发学生成绩管理系统
  8. DeepMind登上Science:“和AI相比,人类都是猪队友”,团战称霸雷神之锤3
  9. c++vector操作
  10. numpy——zeros(), ones(), empty(), eye()
  11. [转摘]使用异步方式调用同步方法
  12. Bongiovi DPS for Mac - 优秀的声音增强软件
  13. 卓有成效的管理者(笔记)——掌握自己的时间
  14. 怎样快速使用计算机,三分钟教你如何快速熟悉电脑,怎样快速准确的熟悉键盘打字以及快捷键的使用...
  15. 数说CS|北京大学前沿交叉学科研究院大数据研究中心保研生源大起底!
  16. 短文本分类---小白从0到0.3的辛酸历程(上)
  17. 2018年腾讯实习生招聘模拟笔试:硬币组合-个人思路及代码
  18. 火车头采集优化-收集的文章内容怎么批量变成原创文章
  19. 四旋翼飞行器教学笔记2 —— 飞行器de姿态读取 1
  20. 手机地理位置共享引发的不安全因素

热门文章

  1. ajax请求数据之后在已经有的数据前面打对勾的方法
  2. 深入理解ES6之《迭代器与生成器》
  3. 韩国韩亚航空数万份乘客身份信息被泄露
  4. Ehcache(06)——监听器
  5. Android IOS WebRTC 音视频开发总结(三六)-- easyRTC介绍
  6. Linux 安装和卸载JDK
  7. 12M电信宽带,为什么12台机器上网,总是掉线?有什么办法解决?请给位高手指教...
  8. navmesh思路的A*寻路算法优化
  9. Matplotlib库-Python数据可视化
  10. 常见的数据分析模型有哪些