最近研究一下数据库连接池技术,下面是转载别人的实现代码,简单易懂,希望能给大家带来帮助。
一、设置tomcat中server.xml文件的数据源。
<Context path=〞/jspdev〞 docBase=〞jspdev〞 debug=〞0〞 reloadable=〞true〞 crossContext=〞true〞>//这是在 Tomcat 中 jspdev的路径。 <Resource name=〞jdbc/jspdev〞 auth=〞Container〞 type=〞javax.sql.DataSource〞/>//定义数据源的名字。 <ResourceParams name=〞jdbc/jspdev〞> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</parameter> <value>com.Microsoft.jdbc.sqlserver.SQLServerDriver</value> </parameter>// JDBC 驱动名。 <parameter> <name>url</parameter> <value>jdbc:Microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev</value> </parameter>// 连接数据库的设置信息。 <parameter> <name>username</parameter> <value>bn</value> </parameter> <parameter> <name>password</parameter> <value>bn</value> </parameter> <parameter>//登录数据库的用户名和密码。 <name>maxActive</parameter> <value>20</value> </parameter>//设置连接池的最大连接数。 <parameter> <name>maxIdle</parameter> <value>10</value> </parameter>//设置连接池的空闲连接数。 <parameter> <name>maxWait</parameter> <value>-1</value> </parameter> </ResourceParams>//设置连接建立的等待时间,单位为毫秒。 </Context>
二、在JSP中实现
<%
DataSource ds = null;
try{
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup(''java:comp/env'');
ds=(DataSource)envCtx.lookup(“jdbc/jspdev”);
if(ds!=null)
{
Connection conn = ds.getConnection();
Statement stmt=conn.createStatement();
ResultSet rst=stmt.executeQuery(''select * from book'');
}
%>
由于在Tomcat中配置了数据源,可以通过(DataSource)envCtx.lookup(''jdbc/jspdev'')来查找这个资料源。查找到这个资料源,就可以通过Connection conn = ds.getConnection()的方法来获得一个到数据库的连接。