一、JDBC簡述
JDBC(Java DataBase Connectivity) Java數據庫連接
其實就是 利用Java語言/程序連接並訪問數據庫的一門技術
之前我們可以通過CMD或者navicat等工具連接數據庫
但在企業開發中,更多的是通過程序(Java程序)連接並訪問數據庫, 通過Java程序訪問數據庫,就需要用到JDBC這門技術。
二、JDBC六步
1、注冊數據庫驅動
1 Class.forName("com.mysql.cj.jdbc.Driver");
注冊驅動,就是讓JDBC程序加載mysql驅動程序,並管理驅動。
驅動程序實現了JDBC API定義的接口以及和數據庫服務器交互的功能,加載驅動是為了方便使用這些功能。
2、獲取數據庫連接
1 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/數據庫名? characterEncoding=utf-8&serverTimezone=Asia/Shanghai", "root", "root" );
DriverManager.getConnection() 用於獲取數據連接,返回的Connection 連接對象是JDBC程序連接數據庫至關重要的一個對象。
參數2和參數3分別是所連接數據庫的用戶名和密碼。
參數1:"jdbc:mysql://localhost:3306/數據庫名" 是連接數據庫的URL,用於 指定訪問哪一個位置上的數據庫服務器及服務器中的哪一個數據當連接本地數據庫,並且端口為3306時,可以簡寫為
1 jdbc:mysql:///數據庫名
3、Statement傳輸器對象--發送Sql語句到服務器執行
Statement stat = conn.createStatement(); //該方法返回用於向數據庫服務器發送sql語句的Statement傳輸器對
4、ResultSet結果集對象--封裝查詢Sql執行的結果
String sql = "" //寫要執行的sql語句
ResultSet rs = stat.executeQuery(String sql) //用於向數據庫發送查詢類型的sql語句, 返回一個ResultSet對象中 ResultSet rs = stat.executeUpdate(String sql) //用於向數據庫發送更新(增加、刪除、修 改)類型的sql語句,返回一個int值,表示影響的記錄行數
可以返回影響的行數並打印,方便以后發現問題
int rows = stat.executeQuery(sql);
5、處理結果
1)遍歷數據行的方法
next() – 使指向數據行的箭頭向下移動一行,並返回一個布爾類型的結 果,true表示箭頭指向了一行數據,false表示箭頭沒有指向任何數據(后面 也沒有數據了)
1 while(rs.next()) { 2 int id = rs.getInt("id"); 3 String name = rs.getString("name"); 4 double money = rs.getDouble("money"); 5 System.out.println(id+","+name+","+money); 6 }
6、釋放資源
此處釋放資源必須按照一定的順序釋放,越晚獲取的越先關閉。所以 先關閉 rs對象,再關閉stat對象,后關閉conn對象。
1 rs.close(); 2 stat.close(); 3 conn.close();