论坛首页 海阔天空论坛

bba96 tiger 降低侵入性,去除接口依赖

浏览 4017 次
精华帖 (0) :: 良好帖 (0) :: 灌水帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-06-10  
为了降低侵入性,更好的被引用,对bba96核心部分进行了大量重构,去除了冗赘的层次与不必要的接口,并借助jdk5.0范型进行了代码精简。发布了bba96 tiger beta2,这个版本已经是比较稳定的版本,具体的改动如下


去除所有的接口依赖,可直接在任何项目中直接调用
service的两层合并为一层且去除service层的接口,但DAO曾仍保留接口以备扩展更多的orm实现
增加sql execute的方法
增强源自view的直接查询能力
参数名由原来难看的oriNames, oriOperators, oriStringValues改为直观的searchName, searchOperator, searchValue
增加了对QueryParam的toString功能,可打出对应的sql,便于调试,参见com.bba96.tiger.util.QueryWebUtils的main函数

下载页面地址:https://bba96.dev.java.net/servlets/ProjectDocumentList?folderID=4149&expandFolder=4149&folderID=0

如果你使用spring+hibernate,而又不喜欢hibernate criteria的麻烦,不妨尝试一下bba96,你可以把主要精力放到业务方面。DefaultEntityManager提供了很多单层逻辑的便利方法给你使用,其中也包括执行hsql或者sql查询/更新的方法,如果你要多层次逻辑的条件查询可以自己组装QueryObject,参见com.bba96.tiger.util.QueryWebUtils的main函数。bba96还提供给你在view层自由增加查询的能力。

tiger版本仅提供了dao/service部分,所以如果你希望在view 查询的安全性方面得到加强,可参考bba96 2.0其中的webwork view部分,权限部分也没有包含在tiger中,希望尽快把包括例子的权限部分迁移过来,但还需要一点时间,最近在忙一个CMS的产品,时间不够用啊……

在SpringSide(http://www.springside.org.cn)项目中webwork MVC部分应用到bba96 tiger对view部分的查询,有兴趣可以看看,这里也要推荐一下SpringSide,确实有很多很好的经验在里面可以借鉴。
   发表时间:2006-06-26  
其实对于CUID使用Hibernate很方便,但对于查询,简单查询使用Hibernate,稍复杂的还是要使用SQL直接构造比较好。也很方便,自动根据查询取出数据压入到Map,每一行一个Map.
0 请登录后投票
   发表时间:2006-06-26  
是的,spring的jdbcTemplate很好的做到了这一点
0 请登录后投票
   发表时间:2006-06-26  
我觉得从开发速度和代码量上来讲,对于查询,特别是分页查询,不建议使用Hibernate. 而且在查询性能上,后期的调优的难度很大。
  开发不能为了Hibernate而Hibernate。我在实际项目中两者混用。
  对于查询分页和根据用户所选查询条件动态组装SQL,使用JDBC进行封装了一个分页框架,所有的查询数据的存放,都是JDK的基本类型,不需要再去引用第三方的类。也不用写。
   从工作量上来讲,只需要一个显示的JSP,再加上XML配置就够了,剩下的工作都由框架来完成了。
   所以对于查询,所以我觉得使用JDBC反而降低了代码开发的工作量。
  不好的地方就是,由于使用SQL,所以在数据库可移植性上,没有约束力。
  如在时间的显示上,大量使用了to_char. 还使用了其它的Oracle函数等。
0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics