`
yxsylyh
  • 浏览: 32003 次
  • 性别: Icon_minigender_1
  • 来自: 哈尔滨
社区版块
存档分类
最新评论

DAO的一个问题

    博客分类:
  • JAVA
阅读更多

DAO的一个问题

 

DAO都知道了吧,就是数据访问对象。这里考虑的是数据访问层的实现。

 

最早的思路是一个数据库表对应一个DAO,实际中也是这么实现的。不过后来发现,这样还是存在问题的,因为每次的CRUD操作都会打开和关闭数据库连接,性能会受到影响;而且,每个原子操作不一定都是针对一个表,涉及到事务处理。

 

最初的折中解决办法就是把DAO类中的每个方法都加一个相应的方法,参数比原来的参数多一个conn的数据库连接,然后在需要的时候,在DAO类的外面用一个事务类,事务类提供数据库连接对象,然后在DAO类之上的一个类,调用不同的DAO中的方法(使用暴露CONN的方法),全部成功的话就commit,否则rollback。

 

虽然问题暂时得到解决了,但总感觉不OO。比如DAO必须暴露conn参数,事务类中掺入了数据库连接对象。比较不爽。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics