社区
Web 开发
帖子详情
数据库连接如何处理最好?
orz_xu5653
2007-01-26 06:08:28
我在做一个大页面处理的时候,有些想法:
这个页面要 查询数据库10次
1.开一个数据库连接 查询完 10次 后关闭连接.
2.查询 1次 就 开/关 一次数据库连接 .
以上这两个方法 哪个好些??
或者 还有什么更好的方法吗??
...全文
264
12
打赏
收藏
数据库连接如何处理最好?
我在做一个大页面处理的时候,有些想法: 这个页面要 查询数据库10次 1.开一个数据库连接 查询完 10次 后关闭连接. 2.查询 1次 就 开/关 一次数据库连接 . 以上这两个方法 哪个好些?? 或者 还有什么更好的方法吗??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火龙果被占用了
2009-02-17
打赏
举报
回复
如果在一个方法面里做 10 个数据库操作,肯定会很累,代码会很乱,而且代码的重用程度很低。
一般来说将一个业务方法作为一个数据库事务(或者说使用同一个数据库连接),一个业务方法可以调用多个 DAO 来完成,
当然了,这些 DAO 所使用 Connection 肯定得是以一个,但是为了方法重用每个 DAO 方法中仅完成一个数据库操作。根据
不同的业务方法调用不同组合的 DAO 方法完成一个逻辑,这样的话就存在一个问题,那就是 Connection 该如何管理?在这
种方式下 Connection 管理属于 J2EE 设计模式中的“事务上下文模式”,事务上下文模式的核心在于同一个请求线程使用同
一个 Connection,在 Java 中可以先将一个实例化的 Connection 放到 ThreadLocal 容器中,在 DAO 使用之处从当中取出来
DAO 方法中的 Connection 肯定是不能关的,得在事务完成提交后再进行关闭。
基本思想就是这样的,实现起来比较复杂,涉及到很多的技术点,Spring 中的事务管理基本上就是采用这种模式的。
mofa
2009-02-17
打赏
举报
回复
不赞成用后者,写一个数据库链接池.比用一次关一次要好些.
sunlink2
2007-01-30
打赏
举报
回复
假设不用事务,仅就lz的两个选择中选一个,大家选哪一种呢?
baobao28
2007-01-30
打赏
举报
回复
在数据库里作一个视图,使得查询只执行一次,这样比你这么查询的效率高很多
如果是觉得视图很难实现,活着根本是多个无关联的表,那么你可以做个存储过程,再通过存储过程声称临时表,这样还是只连接一次数据库,
连接数据库很费时间的,注意能少就少
sorrymyheart
2007-01-27
打赏
举报
回复
你可以开一次做一个事务,完成所有操作后提交事务,这样对数据库压力最小,并且避免产生异步问题
zero1111
2007-01-27
打赏
举报
回复
不建议第二种,个人选一种,只是写程序时注意安全问题.
steveyue
2007-01-27
打赏
举报
回复
使用数据库链接池动态获取数据库链接,然后使用事务机制,每个事务执行10次相关的操作后再提交。好处上面的兄弟已经说了
jicken_woo
2007-01-26
打赏
举报
回复
一般情况下操作一次关闭一次.这是处于安全方面的考虑.不能想当然.
比如下边的一小段代码,估计就能看出来了.
}finally{
try{
if (prepstmt != null) {
prepstmt.close(); //关闭
prepstmt = null;
}
}catch(Exception e){
System.out.println("dbBean close prepstmt error!");
}finally{
try{
if (conn != null) {
conn.close(); //关闭
conn = null;
}
}catch(Exception e){
System.out.println("dbBean close conn error!");
}
}
}
}
}
sunlink2
2007-01-26
打赏
举报
回复
希望高手指点!
sunlink2
2007-01-26
打赏
举报
回复
我也有这样的疑问,
一个页面里把con开/关10次好像不太好吧?
假如入有很多页面,每个页面里都要查询数据库3、4次,那岂不是很占用系统资源,本身con就是系统速度的瓶颈啊
orz_xu5653
2007-01-26
打赏
举报
回复
本人也是偏向 后者
哪里用就在哪里关
wanzyqyy
2007-01-26
打赏
举报
回复
我个人认为后面的一个要好一些吧~~
什么是
数据库连接
池?为什么使用
数据库连接
池?
数据库连接
池工作原理
数据库连接
池负责分配、管理和释放
数据库连接
,它允许应用程序重复使用一个现有的
数据库连接
,而不是再重新建立一个; 释放空闲时间超过最大空闲时间的
数据库连接
来避免因为没有释放
数据库连接
而引起的
数据库连接
...
如何修复 WordPress
数据库连接
错误的问题?
您是否在 WordPress 网站上看到“建立
数据库连接
时出错”通知?这是一个致命错误,用户将无法访问您的 WordPress 网站。 当 WordPress 无法连接到数据库时会发生此错误。许多事情会影响您的 WordPress
数据库连接
,...
为什么要使用
数据库连接
池,每次连接都关闭,数据库默认100条连接?
1、使用
数据库连接
池有什么好处? 2、我关闭
数据库连接
,即使不是立即回收,100个连接也够了? 3、我用了
数据库连接
池,为什么还是不管用? 解惑 第一个问题 假设设置
数据库连接
池最小连接数是13 1、数据库...
数据库连接
池面试
数据库连接
池了解吗, 有什么好处? 有了解
数据库连接
池吗? 17.自己如何设计
数据库连接
池
数据库连接
池代码
数据库连接
池用的哪个?
数据库连接
是线程安全的吗? MyBatis 中其实是有
数据库连接
池的,那么为什么要有...
php -
数据库连接
池实现
什么是
数据库连接
池?
数据库连接
池负责分配、管理和释放
数据库连接
,它允许应用程序重复使用一个现有的
数据库连接
,而不是再重新建立一个;释放空闲时间超过最大空闲时间的
数据库连接
来避免因为没有释放
数据库连接
...
Web 开发
81,095
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章