关于jfinal的Model组件的一点小纠结
写jfinal有一段时间了,里面的Controller 还是写的非常赞,轻松处理请求业务。但是有个小小纠结的就是jfinal的 Model 组件,虽然看起来节省了代码,但是对于稍微复杂的字段超过4-5个的model要处理起来真的好繁琐。请问各位大大,jfinal有没有提供使用标准javabean+注解方式的数据库model来处理数据?如我在android移动项目中经常使用的数据库框架ormlite,相对来说比jfianl的Model组件开发起来更加方便。
大概结构如下,写一个带注解的javabean:
/** * 遥控命令 * * @author lichuan * */ public class RemoteCommand extends DBObject { /** * 对应品牌ID */ @DatabaseField private int ref_brand_id; /** * 对应按钮keyCode */ @DatabaseField private int keyCode; /** * 数据码 */ @DatabaseField private String dataCode; public RemoteCommand() { } public RemoteCommand(int keyCode) { this.keyCode = keyCode; } public RemoteCommand(int keyCode, String dataCode) { this.keyCode = keyCode; this.dataCode = dataCode; } public RemoteCommand(int ref_brand_id, int keyCode, String dataCode) { this.ref_brand_id = ref_brand_id; this.keyCode = keyCode; this.dataCode = dataCode; } public String getDataCode() { return dataCode; } public void setDataCode(String dataCode) { this.dataCode = dataCode; } public void setKeyCode(int keyCode) { this.keyCode = keyCode; } public int getKeyCode() { return keyCode; } public void setRef_brand_id(int ref_brand_id) { this.ref_brand_id = ref_brand_id; } public int getRef_brand_id() { return ref_brand_id; } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(18)
。。。相对来说,你还没玩过hibernate的hbm。xml时代呵,个人觉得注解形式javabean映射是最简单高效的orm框架设计了,没有之一。
回复
抱歉,我说的是4-5个字段,没有那么夸张到40-50个字段的表结构。
话说我真不敢苟同你的意见,一个javabean配置一个表结构,使用getset方法访问的好处是在写代码的时候直接调用getset函数就能够方便的操作表字段,而不需要记住表结构字段名称。
而这个好处在刚开始写项目的速度优势是显而易见的。还有一个好处是可以随时调整表结构,而不需要写了一般发现某些字段得调整,而当这个表结构使用jfina的set(“key","value")分散在各处的时候,你会发现,悲剧了,每个都得改。
回楼上的楼上,我现在使用jfinal的Model就是这样改造来用的,将就着用吧:
不知道他们大公司实际是怎么做的
你可以咨询下@绝望的八皮 或者 @JFinal
个人是参照的 jfinal blog 里面的,用起来也很爽!
不知道他们大公司实际是怎么做的
你可以咨询下@绝望的八皮 或者 @JFinal
个人是参照的 jfinal blog 里面的,用起来也很爽!
大公司,不一定牛B,技术也不一定先进,我们公司500人不知道算什么公司,还在用HashVO 来获取数据,如果这个到时候改表结构,不知道有多少人要跳楼,但是实际上几乎没改过表结构
用 jfinal model 一到两天就知道好处了,对于web项目来说数据是非常关键的,所以对数据库表结构要非常地清楚,至于字段记忆的问题,可以通过 desc tableName得到表结构,然后放在model最前面的注释里面,随时可以查看。
用过 hibernate 两三年,jfinal 比传统 Java ORM 好用多了,不信就试试,保证你会将传统java ORM彻底扔进垃圾桶, @绝望的八皮 就是其中之一
支持Record ORM,支持JFinal
springrain @WhereSQL 动态查询条件的注解……
回复
当你能不用写注解与setter getter以后,你会发现注解也很不爽,试用一下 jfinal activerecord两三天时间,将彻底改变你现在的想法
软件里面的东西只要数量级变大都会变得很麻烦,不可能每个表都是45个字段,并且每个字段都有用吧,当出现几十个字段的时候是不是应该从模型的角度也斟酌一下?
虽然公司项目基本都是jfinal,但是有个遗留的ssh项目,现在每次加个字段都被hibernater搞的我想死。。。各种忘记加,忘记配置。
之前用Hibernate就非常讨厌写Bean和给Bean加注解
呵呵,在开发初期在db设计的表结构,可能你记忆真的好,一下子就记住了字段名。还有,现在一个人从设计表结构到所有都做完成的一个项目真心很小,只能代表jfinal适合一个人玩小项目,数据库什么的不复杂。
回复
我们公司很多表都是在30个字段以上,然后其中还有某些表预留字段就有几十个,但是常用的就那么几个。
不知道我有没有理解楼主的意思
引用“取个数据存个数据都得复制张贴字段好辛苦”
意思是getXXX setXXX 这样比较轻松吗,
那写javabean不辛苦吗,有人说可以自动生成 get set,还有人说可以自动生成Bean。
那同样JFinal的Model你也可以改造一下实现同样的功能。
需要复制张贴字段:
1.DB设计的不是很合理,名字长,并且生涩难记,才会出现这种情况
2.开发不用心,不熟悉表结构
确实很蛋疼,整理了一下。这样好看多了。。。
代码看着很蛋疼,编辑一下,使用工具栏的 # 插入代码,才能有语法高亮