package DBUtil;
import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.SQLException; import javax.sql.DataSource; import javax.naming.Context; import javax.naming.InitialContext;
public class DBConnection { private Connection conn = null; private Statement stmt = null; private ResultSet rs = null; private int resultNum = 0;
/** * 构造函数 * 找到数据源,并用这个数据源创建连接 */ public DBConnection() { try { Context ctx = new InitialContext(); if (ctx == null) throw new Exception("No Context"); DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/oracle"); if (ds == null) throw new Exception("jdbc/oracle is an unknown DataSource"); conn = ds.getConnection(); stmt = conn.createStatement(); } catch (Exception e) { System.out.println("naming:" + e.getMessage()); } }
/** * 执行SQL语句:查询记录 * @param sql SQL语句 * @return ResultSet 记录集 */ public ResultSet executeQuery(String sql) { rs = null; try { rs = stmt.executeQuery(sql); } catch(SQLException se) { System.out.println("Query error:" + se.getMessage()); } return rs; }
/** * 执行SQL语句 :插入与更新记录 * @param sql SQL语句 * @return int resultNum 更新的记录数 */ public int executeUpdate(String sql) { resultNum=0; try { resultNum = stmt.executeUpdate(sql); } catch (SQLException se) { System.err.println("Update error:" + se.getMessage()); } return resultNum; }
/** * 关闭连接 */ public void close() { try { if (rs != null) { rs.close(); rs = null; } if (stmt != null) { stmt.close(); stmt = null; } if (conn != null) { conn.close(); conn = null; } } catch (SQLException se) { System.out.println("close error:" + se.getMessage()); } } } 
|