简单mvc架构中,关于数据库连接的效率问题

hxy 2004-08-24 05:38:51
在测试的简单MVC架构中,是在(C)层servlet的init()中,连一次数据库,再把得到的connection通过参数传给要调用的Bean速度快,还是在每个实现Bean中再连接数据库呢?
...全文
233 点赞 收藏 20
写回复
20 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hxy 2004-09-02
我是想在servlet 取 DataSource, 在bean中 用 getConnection 从连接池中取
回复
sunyonglinbj 2004-09-02
单独写一个连接池
回复
pcdll 2004-09-02
要在servlet中取得连接,这样的好处是一个servlet往往要控制多个步骤,其中包括多个对数据库的操作,如果放到每个bean中取连接的话,那执行一个servlet要连接多次数据库,虽然是连接池,效率也不会高!
回复
hxy 2004-09-02
Context ctx=new InitialContext();
Object obj=ctx.lookup("webcp");
DataSource ds=(DataSource)obj;

有文章说这部分比较费时间,那么,在程序中需要如何避免反复的这个操作,有没好的方法.
如果是在Servlet的init 中 先生成一个DataSource呢?
回复
bluesky35 2004-08-26
连接池
回复
zhaoqiubo 2004-08-26
在servlet中连接数据库是不好的,servlet只是起控制作用.在类中连接数据库吧(不管是连接池还是直接连接).
回复
hxy 2004-08-26
up
回复
hxy 2004-08-26
up
回复
killwin 2004-08-25
同意楼上的,使用Connection Pool,数据库的联接操作一次性完成,以后使用的是已经生成的Connection,效率可想而知。
回复
lianeng 2004-08-25
adolfdi(牛肉火锅) 說的沒錯!
回复
生成Connection对象很浪费资源,所以提前生成几个放在pool中,让其他代码的快速调用,使用后再放回pool中!一个连接多次打开是一个时间纵向问题,而池中多个连接同时打开,是个时间横向问题!具体两种情况效率如何,我也不知道!不好说!但是我认为这不是一个主要问题!至少在这个方面!
你的一个连接只能为一个线程顺序使用!对象池同时提供多个对象共多个线程顺序使用!
在这方面,对象池要快!
回复
一点晴 2004-08-25


把数据源连接放到构造发放中,conn为全局变量,
直接在方法中调用就OK。
回复
hary90 2004-08-25
一般情况下最好配置一个连接词,配置方法,网上有很多,用google搜索一下,一大堆
回复
hxy 2004-08-25
Context ctx=new InitialContext();
Object obj=ctx.lookup("webcp");
DataSource ds=(DataSource)obj;
Connection conn=ds.getConnection();

这是我在weblogic 中配的连接池,那么比如 Bean 中有两个方法,一个为
GetDocList(
AddDoc(
那么这每个过程调用前,都要执行这些吗?有没更好的方法
回复
wubai250 2004-08-25

用连接池!
回复
hxy 2004-08-25
Context ctx=new InitialContext();
Object obj=ctx.lookup("webcp");
DataSource ds=(DataSource)obj;
Connection conn=ds.getConnection();

weblogic 中
这不是连接池吗
回复
gln 2004-08-24
你写一个连接池的类,然后在bean里调用这个类就行了
回复
hxy 2004-08-24
使用连接池是不是多次打开和一次打开多次使用效率是一样的呢?有用连接池
回复
一点晴 2004-08-24


使用连接池,在servlet中调用。
回复
befree 2004-08-24
没有关系吧,你没配连接池?
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-08-24 05:38
社区公告
暂无公告