Oracle连接池操作
一:首先是将JDBC的驱动包oracle6.jar复制到Tomcat安装路径下的llib目录下
二:在web工程目录下的META-INF\context.xml文件下输入以下代码(特别注意文件夹别搞错了):
<span style="font-size:14px;color:#663366;"><?xml version="1.0" encoding="UTF-8"?> <Context debug="5" reloadable="true"> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/oracle" type="javax.sql.DataSource" auth="Container" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:orcl" username="C##SCOTT" password="tiger" maxActive="5" maxIdle="2" maxWait="6000" /> </Context></span>
在myeclipse中没有context.xml文件需要自己创建。
三:在web工程目录下的在WEB-INF\web.xml文件下配置以下代码
<span style="color:#009900;"><resource-ref> <description>DB Connection</description> <res-ref-name>jdbc/oracle</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref></span>
四:配置完成后便是测试了
Connection con = null;// 创建一个数据库连接 Statement stmt = null;// 创建预编译语句对象,一般都是用这个而不用Statement ResultSet result = null;// 创建一个结果集对象 try{ Context Ctx = new InitialContext(); Context envCtx = (Context) Ctx.lookup("java:comp/env"); DataSource ds = (DataSource) envCtx.lookup("jdbc/oracle"); con = ds.getConnection(); System.out.println("数据库连接成功!"); stmt = con.createStatement(); String strSql = "select * from usertable2"; result = stmt.executeQuery(strSql); while(result.next()){ out.print(result.getString("username")); } } catch(Exception ex){ out.print("Exception is :"+ex.getMessage()); ex.printStackTrace(); } finally { try { // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源 // 注意关闭的顺序,最后使用的最先关闭 result.close(); stmt.close(); con.close(); System.out.println("数据库连接已关闭!"); } catch (Exception e) { e.printStackTrace(); } }