JFinal框架项目实战问题反馈与建议

  1. 场景:公司这边一直用ssh搞企业MIS项目,原因是提交表单过程中接收的数据项比较多有三五十个左名甚至更多,所以现在接收表单时用三个bean实现(其实用两个bean也是可以的)的分别为:AbstractHIV_Report、HIV_Report、HIV_ReportBModel,其中HIV_Report、HIV_ReportBModel两个类继承于AbstractHIV_Report,同时两个bean他们的职能为别为:HIV_Report与数据库映射关系作用,HIV_ReportBModel用于以接收界面数据及界面参数传递用途,直接model.getxx就可以获取了挺方便的。

  • 问题描述:

  • (1)、看了下JFinal文档,在接收界面参数,如果单用getPara类似方法获取表单提交过来的数据,如果表单提交过来的数据太多的话使效率就低很多了,使用model的默认使用Model名或指定别名,即可通过model名和指定别名获取(model.get如果是日期类型的,获取时会抛出异常的:yyyy-mm-dd hh:mm:ss.s时间戳格式>_--)。

  • (2)、建议实现个类似mybatis的sql语句管理方法,支持动态参数处理判断,同时又是集中式管理sql这大型项目绝对的优势,如果官方能提供第插件最好了,现在很多企业级MIS项目都在使用mybatis+SpringMVC的。

  • (3)、今后JFinal的发展,建议考虑JFinal框架实现模块化即插即用,用哪个模块加载哪个模块化。

  • (4)、建议JFinal在多数据库如:oracle、sqlservertt等数据库场景强化。

  • (5)、为了更好的推与使用JFinal,建议官方推送通用CMS这样的话可是更上一层楼了,现在市面上大多案例中由于项目结构、代码编写不规范造成对首次研究或接触的新手们引导影响非常大,让人的第一感就是只适合做小项目,所以CMS有必要官方推一个标准的出来一定对JFinal的推广与影响力是不容忽视的^-^__。


评论区

JFinal

2016-06-07 19:11

1:表单提交使用 getModel(...) 可以极大提升效率,减少代码,日期类型,如果是"yyyy-MM-dd HH:mm:ss"或是"yyyy-MM-dd"格式就不会报异常,因为日期型转换总是需要指定一个模式。如果表单中有些属性与数据表字段是不对应的,可以使用getMdel(modelClass, modelName, true) 来跳转过些字段类型的转换,不会报错
2:jfinal 提供了一个 com.jfinal.plugin.activerecord.Sqls.java 工具类来统一管理外部sql,手册中可能没有说明,但用起来非常简单。此外,开发者也可以任意去实现自己的sql外部管理实现类,然后在程序中使用工具类来获得外部sql即可。
3:jfinal plugin 在一定程度上实现了这个目标,即插即用需要写点代码进行管理,例如arp.start(),arp.stop() 这样来管理插件的起动与关闭。
4:希望给到具体一些的反馈,场景强化是指什么?
5:本网站 jfinal 新社区在迭代几个版本,比较完善后会抽取出来做成一个通用的类似于cms 的项目分享给大家,请多多关注jfinal 社区的更新。你说的第五点的确是非常非常重要的事情,但中国开源软件作者普遍时间很有限,所以要慢一些,希望理解。
最后,非常感谢楼主耐心细致的反馈,jfinal 一定会越来越好

lyh061619

2016-06-07 23:08

首先感觉波总在百忙之中抽空过来回答,关于回答第四点,强化的地方就是最基础的数据库字段类型支持,因为mysql数据库字段类型跟其它几个数据库类型还是有区别的,就拿最基本的日期类型从数据转换对应java日期类型就不一样了,数据库支持场景需要处理下与支持,之前也好像有反馈给JFinal过,现在同时引用osc的一篇文章,举例子:http://my.oschina.net/hyq2013/blog/152230;http://www.oschina.net/question/245971_125198 ;http://www.oschina.net/question/35115_93465 虽然发表时间久些但这些文章都提到关于JFinal对oracle、sqlserver等数据类型不友好的依据)^_^!!

lyh061619

2016-06-09 15:57

@JFinal 首先感觉波总在百忙之中抽空过来回答,关于回答第四点,强化的地方就是最基础的数据库字段类型支持,因为mysql数据库字段类型跟其它几个数据库类型还是有区别的,就拿最基本的日期类型从数据转换对应java日期类型就不一样了,数据库支持场景需要处理下与支持,之前也好像有反馈给JFinal过,现在同时引用osc的一篇文章,举例子:http://my.oschina.net/hyq2013/blog/152230;http://www.oschina.net/question/245971_125198 ;http://www.oschina.net/question/35115_93465 虽然发表时间久些但这些文章都提到关于JFinal对oracle、sqlserver等数据类型不友好的实例)^_^!!!

JFinal

2016-06-11 21:41

@lyh061619 新社区的个人空间信息流功能还没做完,很多反馈没有及时看到,很抱歉。你说的问题相当重要,我也一直想对 oracle 方面的支持进行加强,这篇反馈已重点做了备忘,下次升级jfinal的时候重点解决,以前一直没有解决一是因为我自己没有oracle开发环境,二是时间不够,感谢反馈

tonghu008

2016-10-27 14:48

不知道对postgresql 的json,jsonb类型怎么处理才能兼容呢?

热门反馈

扫码入社