1. 数据库源

 以前的JDBC连接步骤为:

  1.加载数据库驱动

       2.通过DriverManger获取数据库连接connection

       3.通过connection执行prepareStatement的响应sql语句。

       4.关闭pstmt,conn

   对于每次访问数据库来说,1,2,4都是重复操作,如何能简化这些操作,这就需要数据源。

 

2.数据库连接池

   数据库连接池,是指在web容器中预先准备N个可以使用的数据库连接,具体应用可以随时用随时关闭释放。

 

3.相应配置方法

   既然是通过web容器来放置数据库连接池,那就需要在tomcat web容器的server.xml中进行配置

 ..............   

<Context path="/jspstudy" docBase="E:\Java\jsp_study_web"> //数据资源配置是针对某个特定的web应用目录的

<Resource name="jdbc/mldn"
auth="Container"
type="javax.sql.DataSource"
maxTotal="100"
maxIdle="30"
maxWaitMills="10000"
username="root"
password="123456"
driverClassName="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/mldn"/>

</Context>

.....

           另外,在特定web应用目录中的web.xml也需要做数据源引用配置

       

<resource-ref>
<res-ref-name>jdbc/mldn</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

 

最后,在jsp,或者在servlet中直接应用即可。

<%@page contentType="text/html" pageEncoding="GBK"%>
<%@page import="javax.naming.*"%>
<%@page import="javax.sql.*"%>
<%@page import="java.sql.*"%>

<html>
<head>
<title>数据库连接池练习</title>
</head>
<body>

<%
String DSNAME ="java:comp/env/jdbc/mldn";
Context ctx = new InitialContext();
DataSource ds = (DataSource) ctx.lookup(DSNAME);
Connection conn = ds.getConnection();
%>

<%=conn%>
<%
conn.close() ; // 表示将连接放回到池之中
%>

</body>

 

</html>