一、JDBC程式設計步驟:
1.加載資料庫驅動
2.獲得資料庫連接配接
3.通過Connection執行個體擷取Statement對象
4.使用Statement執行個體執行SQL語句
5.處理ResultRest結果集
6.回收資料庫資源
二、具體代碼書寫
1、【準備】驅動檔案(jar包)引入
(1)下載下傳對應版本jar包【下載下傳參考】【已會下載下傳,去官網】
(2)項目中手動加入jar包,并且加入classpath下
--- 下載下傳好的jar複制到lib檔案夾下,沒有就自己建立

---右鍵 buildpath--> add to build path
--- 完成
2.加載資料庫驅動
文法:Class.forName(“com.mysql.jdbc.Driver”);
public class DBConnection {
private static final String url = "jdbc:mysql://localhost:3306/db_java";//資料庫路徑
private static final String user = "root";//使用者名
private static final String pwd = "12345678";//密碼
private static final String DriverUrl = "com.mysql.jdbc.Driver"; //驅動類
// 1、加載驅動包
static {
// 捕捉異常
try {
Class.forName(DriverUrl);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
3.獲得資料庫連接配接
文法:Connection conn = DriverManager.getConnection(url, user, pwd);
url:資料庫路徑
user,使用者名
pwd 密碼
// 2、連接配接資料庫
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
連接配接測試結果如下:
測試類看完整代碼
完整代碼:
/**
* @author weijiangzhu 使用jdbc操作資料庫的步驟
* 1、加載驅動包
* 2、連接配接資料庫
* 3、prepareStatement執行sql語句
* 4、關閉相應資源
*
*/
public class DBConnection {
private static final String url = "jdbc:mysql://localhost:3306/db_java";//資料庫路徑
private static final String user = "root";//使用者名
private static final String pwd = "12345678";//密碼
private static final String DriverUrl = "com.mysql.jdbc.Driver"; //驅動類
// 1、加載驅動包
static {
// 捕捉異常
try {
Class.forName(DriverUrl);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 2、連接配接資料庫
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user, pwd);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
// 測試
public static void main(String[] args) {
Connection conn = DBConnection.getConn();
System.out.println("連接配接:" + conn);
}
}
加載連接配接常見錯誤
4.增删改【使用的是同一個執行方法,在這裡以插入為例】
插入語句:insert into db_emp values(
'no001','藏三','2004-5-6','南甯','總經理'
);
為例子
/**
* 插入
* @param args
* 1、準備号sql語句:insert into db_emp values(
?,?,?,?,?);
2、使用conn擷取prepareStatement對象,預處理sql
3、給?指派
4、執行sql: updateExecuted()
* @throws SQLException
*/
public static boolean insert(Emp emp) {//傳入的是實體類的對象
// insert into db_emp values(
// 'no001','藏三','2004-5-6','南甯','總經理'
// );
String sql ="insert into db_emp values(?,?,?,?,?)";
Connection conn = DBConnection.getConn();//調用連接配接的方法【在這裡檢視上半部分連接配接】
PreparedStatement pst = null;
int n = 0;
try {
pst = conn.prepareStatement(sql);
pst.setString(1, emp.getNo());
pst.setString(2, emp.getName());
pst.setString(3, emp.getBirthday());
pst.setString(4, emp.getAddress());
pst.setString(5, emp.getPosition());
// pst.setString(1, "no003");
// pst.setString(2, "藏三");
// pst.setString(3, "2004-5-6");
// pst.setString(4, "南甯");
// pst.setString(5, "總經理");
n = pst.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
//關閉資源
try {
if(conn!=null) {
conn.close();
}
if(pst!=null) {
pst.cancel();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return n>0;
}
5.查詢
查詢使用的executeQuery()方法執行,ResultSet封裝查詢到的結果