精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-28
最早是在ibm网站看到的一篇文章,标题好像是封装jdbc之类的,是哪间学校的硕士写的忘记了,(暂且称A君)但功能实在有限,只是初步实现了由java对象反射成后台的sql语句,模拟hibernate的面向对象持久化到数据库,但bug很多。后来又看到一篇文章重新改写了一下A君的源代码,基本实现了像hibernate根据java对象crud(增删改)功能。这次改动还是比较大的,我调试了一下,应用到oracle数据库上还是bug多多。而且如果真正应用到实际项目中还不行,缺点如下: 1)缺少容器级别的事务管理,事务应该由框架容器控制。开发人员只需要配置一下事务类型,无需关心事务回滚,异常出错等等问题。jdk的代理可以实现容器级别的事务管理,但缺点是每个类要有一个接口,导致class会很多。cglib代理很好的解决了这个问题,(忘记是哪个牛人写的了)一个class就可以了。这方面spring做得很好,支持jdk代理和cglib代理。 2)硬性用反射构成的后台sql语句bug很多,在日期类型字段上会出现很多问题。apache的BeanUtils是利用java的反射和自醒机制来读写javabean的属性的,有开源的为什么不用呢(~-__-~),详细可看apache.commons.beanutils.BeanUtils类。你的工程下面应该有这个包。如果你对此感兴趣可以到这里看看http://www.chinaitpower.com/A/2005-07-03/150232.html 我花了大概大半个月的时间把上面那些问题修正了一番(那时我刚好入职现在的公司,有时间玩,哈哈),集成了一个不像样的框架(在jdbc上封装了一层),特点如下: 一,需支持的框架 Student vo = new Student(); 四,例子使用 1,在app.properties配置一下mysql连接 2,还要加入mysql的驱动包,然后运行GeneralDAOExample.java测试,祝君好运
lib和src请看附件 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-29
更新了附件,eclipse直接导入即可,jdk要1.5以上的
![]() |
|
返回顶楼 | |
发表时间:2007-11-29
"1,不用管理数据库连接,只需配置一个property文件就可以完成。"
如果是这样,在使用这个组件的同时,是不是还要使用管理链接的组件呢?如果是,楼上的组件做教学可能更合适。个人观点 |
|
返回顶楼 | |
发表时间:2007-11-29
看了标题 感兴趣的还是源代码
|
|
返回顶楼 | |
发表时间:2007-11-29
源代码太大了,需要源代码的同学留下email
|
|
返回顶楼 | |
发表时间:2007-11-29
dbclick@126.com
感谢分享
|
|
返回顶楼 | |
发表时间:2007-11-29
apple.lzw@gmail.com
感谢分享 |
|
返回顶楼 | |
浏览 5432 次