1. 程式人生 > >java連線MySQL資料庫DB類底層框架程式碼實現

java連線MySQL資料庫DB類底層框架程式碼實現

前言:用java連線MySQL資料庫程式碼都是十分固定的,所以直接將一些固定的程式碼寫在一個DBmanager類中可以省去許多重複的工作,連線不同MySQL資料庫只需改變user和password即可。為了方便大家,我已經將程式碼總結出來。

程式碼塊

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/*
 * 該類實現JDBC的封裝,主要實現程式碼的重用
 * 核心是類的抽象過程(成員變數,成員方法),
 * 資料庫的訪問步驟:
 * (1)載入驅動,建立連線,建立語句物件(封裝在構造方法中)
 * (2)對於insert,delete,update之類的操作,返回受影響的記錄條數
 * 若>0,則表示操作成功,否則表示操作失敗,需要實現一個方法
 * (3)對於select的操作,返回的是查詢到的記錄集,需要實現一個方法
 * (4)對資料庫連線物件的關閉,以釋放資源,如果資源不及時的釋放,系統將會出現
 * “out of memory”的錯誤,導致系統奔潰
 * 
 */
public class DBManager { //成員的成員變數 private Connection con; private Statement stm; private ResultSet rs; //以下為封裝的成員方法 /* * 1.構造方法,實現載入驅動,建立連線,建立語句物件 */ public DBManager(){ try { // 1.載入驅動 String driverName = "com.mysql.jdbc.Driver"; // mysql
// jdbc驅動描述符,實際上就是driver類在包中的完整路徑 Class.forName(driverName); // 2.建立與資料庫的連線 String url = "jdbc:mysql://127.0.0.1:3306/sale?useUnicode=true&characterEncoding=utf-8"; // 資料庫連線字串,一般使用統一資源定位符(url)的形式 String user = "root"
; // 連線資料庫時的使用者 String password = "635241"; // 連線資料庫時的密碼 con = DriverManager.getConnection(url, user, password); //3.建立語句物件 stm = con.createStatement(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } /* * 2.對於insert,delete,update之類的操作,對於異常的出來,可以採取兩種方式 * (1)使用try,catch * (2)直接丟擲,使用thows,即交給呼叫者進行處理 */ public boolean executeUpdate(String sql) throws SQLException{ boolean ret=false; int i=stm.executeUpdate(sql); if(i>0){ ret=true; } return ret; } /* * 3.對於select的操作 */ public ResultSet executeQuery(String sql) throws SQLException{ rs=stm.executeQuery(sql); return rs; } /* * 4.資源的釋放 */ public void close(){ try { if (rs != null) { rs.close(); } if (stm != null) { stm.close(); } if (con != null) { con.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public Connection getCon() { return con; } public void setCon(Connection con) { this.con = con; } public Statement getStm() { return stm; } public void setStm(Statement stm) { this.stm = stm; } public ResultSet getRs() { return rs; } public void setRs(ResultSet rs) { this.rs = rs; } }

注:記得在lib檔案中匯入mysql-connector-java-5.0.4-bin.jar 這個jar包,否則無法連線資料庫。