C3p0Plugin c3p0Plugin = new C3p0Plugin(
"jdbc:oracle:thin:@192.168.1.89:1521:orcl", "test", "test")
c3p0Plugin.setDriverClass("oracle.jdbc.driver.OracleDriver")
Record record = new Record()
record.set("id", "111111")
Db.save(c3p0Plugin.getDataSource(), "tb_test", record)
}
比如这段代码,运行有报错.
Exception in thread "main" com.jfinal.plugin.activerecord.ActiveRecordException: java.lang.NullPointerException
at com.jfinal.plugin.activerecord.Db.save(Db.java:655)
at com.jfinal.plugin.activerecord.Db.save(Db.java:665)
at com.hzjrd.writerDb.JFinalTest.main(JFinalTest.java:20)
Caused by: java.lang.NullPointerException
at com.jfinal.plugin.activerecord.Db.save(Db.java:652)
原因有三点:
1、它没有给我带来便利, 并且找不到使用它的理由。
2、很难与其他主流框架进行整合。
3、过度封装并且使用它的同时我很难遵守代码规范。
先说说第一点, 对比spring系列, 并没有感觉它有多么便利, 创建一个Jfinal工程我需要1分钟, 创建一个Spring工程我也需要1分钟, 但是在实际开发时, Jfinal所消耗的时间会更多, 因为它不灵活。
并且代码比较啰嗦, 比如创建一个Controller, 我需要继承他的一个公共类, 并且需要在配置类里配置好它的路由, 并且需要在接口方法中使用getRequest方法。
JFinal WEB MVC和Struts简要对比:
JFinal遵循COC原则,零配置,无xml,而struts需要配置来支持action、result、interceptor配置与使用。
JFinal开发效率非常之高,相对Struts开发效率能提升五到十倍。
JFinal代码量非常省,相对Struts开发能省50%到70%代码量。
JFinal遵循Restful规范,而struts自身未提供Restful支持。Struts可以通过插件来支持restful,但支持不彻底使用不方便。
JFinal提供数据库支持,属于一站式解决方案,而struts仅为WEB MVC框架并未提供数据库支持。
JFinal学习成本极低,只需两个小时学习即可上手开发,而Struts学习成本相对较高。
JFinal相对Struts来说更加轻量级,JFinal打包jar文件仅173KB,而struts则为1.8MB。
JFinal ORM和Hibernate简要对比:
JFinal采用ActiveRecord实现数据库 *** 作支持,较Hibernate开发效率提升六到十倍。
JFinal ActiveRecord较Hibernate学习成本低,一小时内能上手开发。
JFinal零配置,对数据库支持五个无特点:无xml、无annotation、无getter、无setter、无attribute,极大降低了代码量,统计证实代码量节省70%到95%。
JFinal数据库 *** 作完全采用原生sql,相对Hibernate采用的HQL学习成本低,功能更强大,性能更高,稳定性好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)