日期:2014-05-20  浏览次数:20729 次

谁能告诉我数据库连接池原理,
谁能告诉我数据库连接池原理,什么是通过JDBC直接连接,什么是通过连接池连接.我们项目中一般是下边的方式连接,算是什么方式连接,谢谢.
                try   {
                        //   データソースを取得する
                        InitialContext   ic   =   new   InitialContext();
                        ds   =   (DataSource)   ic.lookup( "java:/aivi ");

                        //クネクションを取得する
                        conn   =   ds.getConnection();

                        //   AutoCommitを無効
                        conn.setAutoCommit(false);

                        //conn.setHoldability(ResultSet.CLOSE_CURSORS_AT_COMMIT);

                }   catch   (Exception   e)   {
                        throw   new   DBConnectException(e.getMessage());
                }

------解决方案--------------------
Nothing
无非是JNDI指定一个数据源,然后找到就行了。

所谓链接池,就是一堆Conn对象在里面而已,feel free。
没有啥的,。

------解决方案--------------------
我以前倒是自己模拟过,这种东西原理简单,只是实用效果不好说而已,但是自己随手写个,又总会比你直接getConnection的效果要好点。
仅此而已。
------解决方案--------------------
LZ您的等级怎么上去的??????
留个地址给你发关于原理的资料
------解决方案--------------------
你写这段就是连接池的代码 最多也就缺少连接池的配置BAIDU下好多
------解决方案--------------------
当然都是一样意义上的东西了。
关键是你做过很多项目都是在J2EE Server的基础上做的。

我没有怎么做过,
但是我实现过TOMCAT的原型,对J2EE的规范,JNI,JNDI,RMI等等有一些了解而已,

所以你不知道原理什么的,但是我基本不会写JSP呢。

------解决方案--------------------
你给的例子属于数据库连接池的一种方式.
首先你要了解数据库连接是一种非常宝贵的资源,之所以说其宝贵是因为直接和数据库进行一次连接代价是非常大的,虽然小规模程序给人的感觉也是很快,但访问量增加后就会体现出来了.
为了不至于每次存取数据库都与数据库直接建立连接就产生了数据库连接池的概念:把连接当作一个一个的资源来看待,在这个 "池子 "里放很多已经产生好的连接,使用的时候直接从 "池子 "里拿而不是真正与数据库进行连接(拿出来的这个连接已经是可用的),用完了放回池子而不是真正关闭与数据库的连接,这个池子除了做为容器外还根据需求量的变化控制池子里连接的数目以保证连接足够使用且不浪费.
我知道的连接池有两种实现方式:一个就是你给的例子中的JNDI,如果你学过RMI就能理解的更好一些,就是服务器提供了一些资源,你通过域名得到这个资源来使用,而这个资源就是数据库连接池
第二种方式就是按我上面说的原理自己写一个数据库连接池进行连接的管理,现在已经有好多现成的了
------解决方案--------------------
看看这个有解答 http://www.haolla.com/sl
------解决方案--------------------
学习1下
------解决方案--------------------
资料发到zuochuanmin@hotmail.com里面了