java 数据库连接池问题!

这两天刚接触jdbc连接池和数据源,有点搞不懂这两个的关系!目前我会的连接数据库得到connection的方法是:1,用Class.forname("**"")方法。2,用一个老师给的数据库连接池java文件,然后配置一个dbpool.properties文件,里面是mysql的驱动类,用户名,密码等信息!3,这是今天刚接触的就是在tomcat中配置context.xml文件
<Resource name="jdbc/mydata" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/mydatabase"/>
然后用DataSource获得connection。这个是今天接触的有点不明白。这是常说的数据源方法么?和用数据库连接池的区别是什么呢。还有用数据源方法是不是效率更高。。菜鸟。这问题有点。。。希望高手们帮忙下。感激!

DataSource实际上只是一个接口,并不是什么连接池,它也不能连接数据库,是sun专门设计来为开发者提供统一数据源的标准接口,仅此而已。

另外,你这里使用了tomcat的数据源,实际上tomcat这个J2EE服务器容器本身开发了数据库连接池的功能组件,你只要按照Tomcat的配置方法配置好数据库的连接信息,就能在通过Tomcat调用了数据库的连接。

当然,在了解了数据库连接池的原理后,也可以自定义连接池的。

不一定非要用Tomcat写好的连接池组件的。

至于工作效率,我只能这样告诉你,系统使用上了连接池来管理数据库连接,比没有使用连接池的效率高的多,因为应用程序和数据库每建立一次连接所消耗的资源和时间不能小瞧。大型项目基本没有不用连接池的。

Tomcat的数据源也是实现了连接池的功能,比你直接连接数据库不用连接池的效率要高些的。

当然你也可以不用Tomact的内置数据源(或者说连接池),你可以直接写或者使用其他第三方的连接池组件。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-15
Hibernate的连接池
第2个回答  2012-09-13
首先web项目是基于B/S的,这和C/S不同,b/s同时访问的人数是非常多的,c/s访问的人很少,每一个访问者都要调用一个连接,在这种情况下如果不采用数据源,是无法满足的,数据源本身就是一个很大的数据连接池,里面放着一堆数据连接(配置文件可以配置),用户访问的时候用户从里面取出来,当数据源自动检测连接被取完后又自动生成一批(这个在配置数据源的文件可以配置)。
第3个回答  2012-09-14
楼上说的对
第4个回答  2020-04-15
你这种情况最好是优化DAO算法,让一次连接就能查询很多数据,也就是批处理,如果查询,操作等逻辑很复杂,那必须用存储过程.
相似回答