为了降低侵入性,更好的被引用,对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项目中webwork MVC部分应用到bba96 tiger对view部分的查询,有兴趣可以看看,这里也要推荐一下SpringSide,确实有很多很好的经验在里面可以借鉴。