目的:jdbc基本操作过程:打开数据库,操作数据库,关闭数据库,连接只有操作数据库不同。为了解决不必要的资源浪费,使用数据源来减少打开和关闭数据库的操作



1、通过Connection Pool 管理数据库连接

2、通过DataSource 去管理Connection Pool

3、DataSource 被JNDI 绑定 (java 命名 目录 借口)

第一步,copy数据库驱动程序到Tomcat\lib目录.

第二步,修改Tomcat\conf\context.xml文件。


<Context>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"
maxActive="30" maxIdle="30" maxWait="-1" username="hdty_system"
password="hdty_system" driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl" />
</Context>

第三步,更新应用程序目录WEB-INF/web.xml文件,添加如下内容。


<resource-ref>
<description>db connection</description>
<res-ref-name>jdbc/test</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

第四步,测试数据源配置成功。


<%@ page contentType="text/html" pageEncoding="GB2312" %>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.*"%>
<html>
<body>
<%
Connection connection = null;
Context context = null;
DataSource dataSource = null;
context = new InitialContext();
dataSource = (DataSource) context.lookup("java:/comp/env/jdbc/test");
if (dataSource != null) {
connection = dataSource.getConnection();
}

out.println(connection );
Statement s = connection.createStatement();
ResultSet rs = s.executeQuery("select * from 表");
rs.next();
out.println(rs.getString(2));
%>
</body>
</html>