Util類:
package com.util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;public class DBUtil {private static DBUtil dbUtil=null;private final String DRIVER="oracle.jdbc.driver.OracleDriver"; private final String url="jdbc:oracle:thin:@localhost:1521:orcl";private final String user="ndy";private final String psw="123456";public Connection conn=null; PreparedStatement pstm=null; ResultSet rs=null;public static DBUtil newInstance(){if(dbUtil==null){dbUtil=new DBUtil();}return dbUtil;}public Connection getConnection(){//try {//Context context=new InitialContext();//DataSource ds=(DataSource) context.lookup("java:comp/env/jdbc/easyui_pro");////從串連池擷取串連//conn=ds.getConnection();//} catch (Exception e) {//// TODO Auto-generated catch block//e.printStackTrace();//}try {Class.forName(DRIVER);conn = DriverManager.getConnection(url, user, psw);} catch (SQLException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}return conn;}public int sqlInsert(String sql){int num=0;conn=this.getConnection();try {pstm=conn.prepareStatement(sql);num=pstm.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return num;}public int sqlInsert(String sql,Object[] param){int num=0;conn=this.getConnection();try {pstm=conn.prepareStatement(sql);setParam(pstm, param);num=pstm.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return num;}public int sqlDelete(String sql){conn=this.getConnection();int num=0;try {pstm=conn.prepareStatement(sql);num=pstm.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{this.pstmClose();}return num;}public int sqlDelete(String sql,Object[] param){conn=this.getConnection();int num=0;try {pstm=conn.prepareStatement(sql);setParam(pstm, param);num=pstm.executeUpdate();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{this.pstmClose();}return num;}public int sqlUpdate(String sql){return sqlUpdate(sql, null);}public int sqlUpdate(String sql,Object[] objects){int num=0;try {conn=this.getConnection();pstm=conn.prepareStatement(sql);setParam(pstm, objects);num=pstm.executeUpdate();} catch (SQLException e) {e.printStackTrace();}finally{this.pstmClose();this.connClose();}return num;}public ResultSet sqlQuery(String sql){return sqlQuery(sql, null);}public ResultSet sqlQuery(String sql,Object[] objects){ResultSet rs=null;try {conn=this.getConnection();pstm=conn.prepareStatement(sql);if(objects!=null){for(int i=0;i<objects.length;i++){pstm.setObject(i+1, objects[i]);}}rs=pstm.executeQuery();} catch (SQLException e) {e.printStackTrace();}return rs;}private void setParam(PreparedStatement pstm,Object[] objects) throws SQLException{if(objects!=null){for(int i=0;i<objects.length;i++){pstm.setObject(i+1, objects[i]);}}}public void connClose(){if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}public void rsClose(){if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}}public void pstmClose(){if(pstm!=null){try {pstm.close();} catch (SQLException e) {e.printStackTrace();}}}}