package db;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSetMetaData;
import java.sql.DriverManager;
import javax.sql.DataSource;
import javax.servlet.http.HttpServletRequest;
/**
* <p>Title:操作数据库对象 </p>
*
* <p>Description: 操作数据库的工具类 ,包含有各种操作数据库方法</p>
* @version 1.0
*/
public class DB_ut {
Connection conn = null;
Statement stmt = null;
DataSource dataSource = null;
ResultSet rs = null;
public DB_ut(DataSource dataSource) {
this.dataSource = dataSource;
}
public Connection getConn() {
this.setConn();
return conn;
}
public Statement getStmt() {
this.setStmt();
return stmt;
}
public ResultSet getRs(String sql) {
this.setStmt();
try {
rs = stmt.executeQuery(sql);
} catch (SQLException ex) {
System.out.println("获得rs出错" + ex.toString());
}
return rs;
}
///以下是关闭数据库各个对象的操作/
//注意,rs stmt conn 在主函数中调用那一个,就只关闭那一个就可以/
public void closeConn() {
if (conn != null) {
try {
conn.close();
} catch (SQLException ex) {
System.out.println("获得连接出错" + ex.toString());
}
}
}
public void closeStmt() {
if (stmt != null) {
try {
stmt.close();
} catch (SQLException ex) {
System.out.println("获得连接出错" + ex.toString());
}
}
this.closeConn();
}
public void closeRs() {
if (rs != null) {
try {
rs.close();
} catch (SQLException ex) {
System.out.println("获得连接出错" + ex.toString());
}
}
this.closeStmt();
this.closeConn();
}
///以下私用工具函数//
private void setConn() {
if (conn == null) {
if (dataSource != null) {
try {
//取得数据库连接
conn = dataSource.getConnection();
} catch (Exception e) {
System.out.println("获得连接出错" + e.toString());
}
}
}
}
private void setStmt() {
if (stmt == null) {
this.setConn();
if (conn != null) {
try {
stmt = conn.createStatement();
} catch (SQLException ex) {
System.out.println("获得stmt出错" + ex.toString());
}
}
}
}
}
使用方法:
==============================
ResultSet rs = null;
DboperationForm DboperationForm = (DboperationForm) form;
/定义数据库操作工具类
db.DB_ut DB_ut = new db.DB_ut(getDataSource(request, "data"));
/以下是获取带参数的ResultSet的例子代码,关闭的时候,只调用相应的方法即可。
// String sql = "SELECT * FROM JOB where jobid = '"+DboperationForm.getDbname()+"' " ;
String sql = "SELECT * FROM JOB" ;
rs = DB_ut.getRs(sql);
DB_ut.closeRs();
// while(rs.next())
// {
// System.out.print(rs.getString("jobid"));
// }
return (ActionForward) rs;
}
}