您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 榆林分类信息网,免费分类信息发布

数据源和连接池

2024/7/2 0:04:51发布114次查看
数据源是用来连接数据库,获得connection对象的,在java中使用javax.sql.datasource接口来表示。 有了数据源,我们就不需要在编写其他连接数据库代码,直接从数据源中获取连接就可以了,而且,不管使用什么样的数据库,都是用一样的方式获取数据库连接对象。
数据源是用来连接数据库,获得connection对象的,在java中使用javax.sql.datasource接口来表示。
有了数据源,我们就不需要在编写其他连接数据库代码,直接从数据源中获取连接就可以了,而且,不管使用什么样的数据库,都是用一样的方式获取数据库连接对象。
数据源对象一般由容器创建的,在程序中可以使用jndi来获取。通过数据源创建的连接对象可以被自动的放入连接池统一管理。
连接池是用来管理connection对象的,连接池可以从数据源中获取连接,连接池中可以有若干个数据库连接对象,这些连接对象可以被重用。应用程序需要连接时就向连接池申请,如果连接池有空闲的连接,就会分配给应用程序,如果没有,可能需要在等待队列里等待。而如果从连接池中获得一个连接对象,等到使用完毕后,通过调用connection的close()方法,就能将连接还给连接池,这样这个连接对象就又编程空闲的了,可以等待下一次连接请求。而连接池中的连接对象将一直保持与数据库的连接,这样就避免了频繁的连接盒关闭。但是这些连接对象会占用一定的内存空间,所以我们要根据数据库的并发访问量,和服务器的硬件条件来觉得连接池中的最大连接数。
数据源和连接池一个是用来创建连接对象的,一个是用来管理连接对象的。
在tomcat中使用数据源可以使用如下步骤:
1、在tomcat中加入数据库驱动文件,在tomcat的lib目录下导入数据库驱动包。
2、配置tomcat的conf/context.xml文件,在该文件中加入如下代码:

name:指定resource的jndi名称。auth:指定管理resource的manager(container:由容器创建和管理,application:由web应用创建和管理)。type:指定resource所属的java类。maxactive指定连接池中处于活动状态的数据库连接的最大数目。maxidle:指定连接池中处于空闲状态的数据库连接的最大数目。maxwait:指定连接池中处于空闲的最长时间,超过这个时间会抛出异常,取值为-1表示无限期等待。
3、使用jndi获取连接对象。
import java.sql.connection;import java.sql.sqlexception;import javax.naming.context;import javax.naming.initialcontext;import javax.naming.namingexception;import javax.sql.datasource;public class jndiconnection { public connection jndigetconnection() { connection conn = null; context ic; try { ic = new initialcontext(); datasource ds = (datasource) ic.lookup(java:comp/env/jdbc/books); conn = ds.getconnection(); } catch (namingexception e) { e.printstacktrace(); } catch (sqlexception e) { e.printstacktrace(); } return conn; }}
这时我们就可以使用连接对象,并且对数据库进行一系列操作。
榆林分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录