论坛首页 入门技术论坛

Dao的数据库联接问题

浏览 2217 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-01-09  
   因为所有涉及到数据库访问的代码都放到了Dao组件中,比如说一个用户注册吧,UserDao中有isUserExist(User user), 还有插入数据的register(User), 我现在想问的就是关于UserDao中的数据库联接是每个方法中重新打开,操作完后再关闭好呢还是一个Dao有一个连接的事例变量,然后在Service层中关闭连接好呢,如UserService 调用UserDao中的一个close()方法?
   我觉得第二种方法不是很好,代码不够简洁,每次都要显示的关闭数据库联接,不小心忘记关的话就麻烦了。但是如果在每个Dao方法中都打开关闭连接一次又太浪费性能了?
不知道有什么好建议
   发表时间:2007-01-10  
简单的解决方法是,每个DAO方法都包含一个Connection或者类似的参数(比如包装Connection的自己写的MyTransaction类),然后每个方法都用这个Connection执行,如果它为null,再自行打开和关闭一个连接。如果是传入的Connection,则在调用者程序里负责关闭。
0 请登录后投票
论坛首页 入门技术版

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