封裝JAVA數據庫操作


import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
public class BaseDao {
         public final static String DRIVER = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
         public final static String URL = "jdbc:sqlserver://localhost:1433;databaseName=boor";
         public final static String USERNAME = "sa";
         public final static String PASSWORD = "";
 
         **
          *
          * @return 獲得數據庫連接
          * @throws SQLException
          * @throws ClassNotFoundException
          *
         public Connection getConn() {
                   Connection conn = null;
                   try {
                            Class.forName(DRIVER);
                   } catch (ClassNotFoundException e) {
                            e.printStackTrace();
                   }
                   try {
                            conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
                   } catch (SQLException e) {
                            e.printStackTrace();
                   }
                   return conn;
         }
 
         **
          * 關閉數據庫連接
          * @param conn數據庫連接
          * @param prsts  PreparedStatement 對象
          * @param rs結果集
          *
         public void closeAll(Connection conn, PreparedStatement prsts, ResultSet rs) {
                   if (rs != null) {
                            try {
                                     rs.close();
                            } catch (SQLException e) {
                                     e.printStackTrace();
                            }
                   }
                   if (prsts != null) {
                            try {
                                     prsts.close();
                            } catch (SQLException e) {
                                     e.printStackTrace();
                            }
                   }
                   if (conn != null) {
                            try {
                                     conn.close();
                            } catch (SQLException e) {
                                     e.printStackTrace();
                            }
                   }
         }
 
         **
          * 執行增、刪、改SQL語句
          *
          * @param sql
          *            sql語句
          * @param param
          *            值集
          * @param type
          *            值類型集
          * @return 受影響的行數
          *
         public int executeUpdate(String sql, Object[] param, int[] type) {
                   int rows = 0;
                   Connection conn = this.getConn();
                   PreparedStatement prsts = null;
                   try {
                            prsts = conn.prepareStatement(sql);
                            for (int i = 1; i <= param.length; i++) {
                                     prsts.setObject(i, param[i - 1], type[i - 1]);
                            }
                            rows = prsts.executeUpdate();
                   } catch (SQLException e) {
                            e.printStackTrace();
                   } finally {
                            this.closeAll(conn, prsts, null);
                   }
                   return rows;
         }
 
         **
          * 執行查詢SQL語句
          *
          * @param sql
          *            sql語句
          * @param param
          *            值集
          * @param type
          *            值類型集
          * @return 結果集
          *
         public List executeQuery(String sql, Object[] param, int[] type) {
                   ResultSet rs = null;
                   List list = null;
                   Connection conn = this.getConn();
                   PreparedStatement prsts = null;
                   try {
                            prsts = conn.prepareStatement(sql);
                            for (int i = 1; i <= param.length; i++) {
                                     prsts.setObject(i, param[i - 1], type[i - 1]);
                            }
                            rs = prsts.executeQuery();
                            list = new ArrayList();
                            ResultSetMetaData rsm = rs.getMetaData();
                            Map map = null;
                            while (rs.next()) {
                                     map = new HashMap();
                                     for (int i = 1; i <= rsm.getColumnCount(); i++) {
                                               map.put(rsm.getColumnName(i), rs.getObject(rsm.getColumnName(i)));
                                     }
                                     list.add(map);
                            }
                   } catch (SQLException e) {
                            e.printStackTrace();
                   }finally{
                            this.closeAll(conn, prsts, rs);
                   }
                   return list;
         }
 
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM