1. 程式人生 > >Java中增刪改查通用方法。

Java中增刪改查通用方法。

public class BaseDAO {
 private static final String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
 private static final String URL = "jdbc:sqlserver://localhost:1433;DatabaseName= booksystem";
 private static final String USERNAME = "sa";
 private static final String PASSWORD = "sa";
 protected Connection conn;
 protected PreparedStatement pstmt;
 protected ResultSet rs;
 //建立連線方法
 protected void getConnection(){
  try{
   try {
    Class.forName(DRIVER);
   } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   conn =  DriverManager.getConnection(URL,USERNAME, PASSWORD);
  }catch(SQLException e){
   e.printStackTrace();
  }
 }
 //閉合方法
 protected void closeResource(){
  if(rs!=null){
    try {
     rs.close();
    } catch (SQLException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
  if(pstmt!=null){
   try {
    pstmt.close();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  if(conn!=null){
   try {
    conn.close();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  }
 }
 //查詢方法
 public ResultSet execQuery(String sql,String[] paras){
  try{
   this.getConnection();
   pstmt = conn.prepareStatement(sql);
   if(paras!=null&& paras.length>0){
    int index = 1;
    for(String para:paras){
     pstmt.setString(index, para);
     index++;
    }
   }
   rs = pstmt.executeQuery();
  }catch(SQLException e){
   e.printStackTrace();
  }
  return rs;
 }
 //增刪改
 public int execUpdate(String sql, String[] paras){
  int row = 0;//受影響的行數
  //連結資料庫
  this.getConnection();
  //基於SQL語句得到PreparedStatement物件
  try{
   pstmt = conn.prepareStatement(sql);
   //建立並新增相應的引數
   if(paras!=null&&paras.length>0){
    //將SQL語句引數陣列中的值依次賦值給與執行語句
    for(int i=0;i<paras.length;i++){
     pstmt.setString(i+1,  paras[i]);
    }
   }
   row = pstmt.executeUpdate();
  }catch(SQLException e){
   e.printStackTrace();
  }finally{
   this.closeResource();
  }
  return row;
  
 }
 
 
 
 
 
 
}