数据连接池 数据连接池: JDBC2.0中提供了Javax.sql.DateSource接口,负责建立与数据库的连接,可以直接从数据源获得数据库连接。 链接池: 数据连接池占用系统资源,在多用户的网页程序中最为体现,影响整个应用程序的伸缩性和健壮性。他负责分配,管理和释放数据库连接。允许应用程序重复使用一个现有的数据库连接。释放空闲时间超过最大空闲时间的数据库连接,避免应用因为没有释放数据库连接而引起的数据库连接而引起的数据库连接遗漏,提高对数据库操作的性能。 •备注: 初始化创建一定数量的数据库连接放到连接池中,数据库连接的数量是由最小数据库连接数来设定的。无论数据库连接释放被使用,连接池都将一直保证至少拥有这么多的连接诶数量。数据库连接数量限定了连接池最大的连接数,当程序向数据连接池请求的连接超过最大连接数量时,这些请求将被加入等待列中。 JNBI资源: 理解为一种将对象和名字绑定的技术,web容器(Tomcat)生产出对象,这些对像都和唯一的名字绑定,外部程序可以通过名字来获得该对象。 Java 命名目录接口: /** * 获取数据连接 * */ public Connection getConnection() throws Exception{ Context ic=new InitialContext(); DataSource source=(DataSource) ic.lookup("java:comp/env/ jdbc/ownHome "); connection=source.getConnection(); return connection; } Tomcat 把 DataSource作为一种可配置的JNBL资源来处理。Context.xml文件中的配置: <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <Resource name="jdbc/ownHome" //指定数据源的名称 auth="Container" //Web应用程序创建和管理,容器创建Resuorce [Appliction] type="javax.sql.DataSource" //指定Resource所属的Java类名 maxActive="4" //处于后东状态连接最大数目 maxIdle="200" //处于空闲时最大数目,0为不受限制 maxWait="10000" //处于空闲状态的最长时间,-1为无限制,超时间会抛异常 username="sa" password="sa" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"//驱动 url="jdbc:sqlserver://localhost:1434;DatabaseName=ownHome" /> //URL </Context> 呵呵,重复了。 <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <Resource name="jdbc/ownHome" auth="Container" type="javax.sql.DataSource" maxActive="4" maxIdle="200" maxWait="10000" username="sa" password="sa" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://localhost:1434;DatabaseName=ownHome" /> </Context> 备注:复制2005的连接包到lib中 通过Data Source 中可以在pojo 项目使用(必须添加jar 包) 数据源 Dbcp ,C3p0,proxool 三种连接池。 St_Dawing St_Dawing Xiaoling5017