分为三个文件:第一个文件是引用ORACLE自带的连接池的类,第二个文件是连接SQL2K的类文件,第三个是一个JSP文件,用于显示结果
******************
OraPooledSQL.java
******************
______________________________________________________________________
/*
* Created on 2004-7-9
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package myclass.DBconn;
/**
* @author Ericsson
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
import java.sql.*;
import javax.sql.*;
import oracle.jdbc.pool.*;
public class
{
private PooledConnection dbpool;
/**
@param ConnectionURL
连接名 如:jdbc:oracle:thin:@192.168.1.232:1521:orcl
@param UserID 用户名
@param PassWord 用户密码
*/
public OraPooledSQL(String ConnectionURL,String UserID,String PassWord)
{
try{
OracleConnectionPoolDataSource ocpds = new OracleConnectionPoolDataSource();
ocpds.setURL(ConnectionURL);
ocpds.setUser(UserID);
ocpds.setPassword(PassWord);
dbpool = ocpds.getPooledConnection();
System.out.println("connect_test Success");
}
catch(Exception ex)
{
System.err.println("Error in PooledSQL-construct : ");
ex.printStackTrace(System.err);
}
}//end OraPooledSQL
//close dbpool
protected void finalize()
{
if( dbpool != null )
{
try
{
dbpool.close();
}
catch(Exception ex)
{
}
}
}
/**
用于更新、添加或删除的SQL语句
@param SQL SQL语句字串,如:insert into tablename values(id,......)
*/
public int Update(String SQL)
{
Statement stmt = null;
int rc = 0;
Connection connection = null;
try
{
connection = dbpool.getConnection();
stmt = connection.createStatement();
rc = stmt.executeUpdate(SQL);
}
catch( Exception ex )
{
System.err.println("Error in Update - OraPooledSQL : ");
ex.printStackTrace(System.err);
}
return rc;
} //end Update()
/**
用于查询的SQL语句
@param SQL SQL语句字串,如:select * from tablename
*/
public ResultSet Query(String SQL)
{
Statement stmt = null;
ResultSet rs = null;
Connection connection = null;
try
{
connection = dbpool.getConnection();
stmt = connection.createStatement();
rs = stmt.executeQuery(SQL);
}
catch( Exception ex )
{
System.err.println("Error in Query - SQLBean : ");
ex.printStackTrace(System.err);
}
return rs;
} //end Query
} //end Class
______________________________________________________________________
***************
DBconn.java
***************
______________________________________________________________________
/*
* Created on 2004-7-8
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package myclass.DBconn;
import java.sql.*;
/**
* @author Ericsson
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class DBconn {
String url = "jdbc:odbc:lmt";
String DBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
public static Connection con = null;
ResultSet rs = null;
Statement stmt;
public DBconn() {
try{
Class.forName(DBDriver);//加载数据库驱动程序
}//try
catch(java.lang.ClassNotFoundException e){//出错情况的处理
System.out.println("DBconn():" + e.getMessage());
}
}//DBconn()
/**
* executeQuery操作,用于数据查询,主要是Select
* @param sql 查询字段
* @return 数据集
* @throws SQLException 捕捉错误
*/
public ResultSet executeQuery(String sql){
rs = null;
try {
con = DriverManager.getConnection(url,"sa","");
stmt = con.createStatement();
rs = stmt.executeQuery(sql);
}//try
catch(SQLException ex){//出错情况的处理
System.err.println("aq.executequery:" + ex.getMessage());
}
return rs;
}//executeQuery();
/**
* executeUpdate操作,用于数据更新,主要是Update,Insert
* @param sql 查询字段
* @throws SQLException 捕捉错误
*/
public void executeUpdate(String sql) throws SQLException {
try {
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
stmt.executeUpdate(sql);
}
catch (SQLException ex) {
ex.printStackTrace();
System.out.println("dbTrans.executeUpdate:"+ex.getMessage());
throw ex;
}
}
}//class
______________________________________________________________________
***************
db_test.jsp
***************
______________________________________________________________________
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import = "java.net.URL"%>
<%@ page import = "java.sql.*"%>
<%@ page import = "myclass.DBconn.OraPooledSQL" %>
<html>
<head>
<title>数据库连接测试</title>
</head>
<jsp:useBean id="DBconn" scope="session" class="myclass.DBconn.DBconn" />
<jsp:setProperty name="DBconn" property="*" />
<body>
<%
java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy年MM月dd日");
java.util.Date currentTime_1 = new java.util.Date();
out.print(formatter.format(currentTime_1)+"<br>");
OraPooledSQL orcl = new OraPooledSQL("jdbc:oracle:thin:@192.168.1.232:1521:orcl","webstat","khkj");
ResultSet orcl_rs = orcl.Query("SELECT * FROM s_table");
ResultSet Rs = DBconn.executeQuery("SELECT * FROM test");
%>
<table width="180" border="1" align="left" cellpadding="0" cellspacing="0" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF">
<tr align="center" bgcolor="#99CCFF"><td colspan="2">连接SQL2K测试</td></tr>
<%while(Rs.next()){ //循环显示查询结果 %>
<tr>
<td><%out.print(Rs.getString("name"));%></td>
<td><%out.print(Rs.getString("sex"));%></td>
</tr>
<%}
Rs.close();%>
</table>
<table width="180" border="1" align="left" cellpadding="0" cellspacing="0" bordercolorlight="#C0C0C0" bordercolordark="#FFFFFF">
<tr align="center" bgcolor="#99CCFF"><td colspan="2">oracle连接池测试</td></tr>
<%while(orcl_rs.next()){ //循环显示查询结果 %>
<tr>
<td><%out.print(orcl_rs.getString("name"));%></td>
<td><%out.print(orcl_rs.getString("caption"));%></td>
</tr>
<%}
orcl_rs.close();%>
</table>
</body>
</html>
______________________________________________________________________