利用工厂类读取资源文件,利用反射创建出javabean的思路,请各位指教

07-04-03 fhom
如果在DBhelp 的查询方法中,如果要根据查询出的信息,要组装到不同的实体BEAN中,那在DBhelp中该怎么判断?

比如说DBhelp 是接受一个String sql 语句来负责查询数据库,然后根据查据查询的不同的表要求把Result 记录集读到不同的实体BEAN 中,然后传回给DAO层或Model层,这样可以吗??

应该就是利用工厂类读取资源文件,利用反射创建出javabean 具体应该如何实现??

    

zuly
2007-04-03 09:38
自己做轮子? 但肯定不是Factory!

1:Factory是基于多态的,但是很多OR工具好像没有要求Pojo继承什么类!

2:我认为OR是通过某种binding机制来实现(我看过hbm的源码,虽然十分复杂,但是我只看持久层的解决方案,从代码中有很多binding的痕迹,比如schema,objectFactory,dyncpojo,genrator等)。基于这一点楼主可以参考hibernate core reference的第2章,hibernate的结构指出,hibernate是处于app和db中间的一层,入口是一张xml,可以预见应该是一种binding的实现,如果是binding的实现,则注定要求这张xml必须明确表明pojo和database的关系,在看schema印证了我的观点!

3:如果基于Factory,注定你的o/r方式严重绑定application,而且不是透明的。

fhom
2007-04-04 00:01
ZULY这位大大,我也就是想利用这个来熟悉下反射机制,也就是纯属于练手的,就还没有考虑的你想讲的那么多,但是就具体怎么去做呢,自己还没有想法。

[该贴被fhom于2007年04月04日 00:11修改过]

banq
2007-04-04 10:23
参考iBatis, 已经实现你的功能了,所以说不要重新发明轮子。

jacek
2007-04-05 01:01
spring已经有了很完美的实现,尤其是jdbc里面的那块代码,如果用范型,那么你更不需要对返回类型进行强制转换了,favoor就是这么做的,底层是通过反射做的,favoor使用了访问者模式去处理返回值的

猜你喜欢
2Go 1 2 下一页