java jdbc入門
jdbc是什麼
jdbc是訪問關係型資料庫的java API
java database connectivity java資料庫連線
jdbc作用
jdbc是給java程式設計師提供了訪問和操作眾多關係資料庫的一個統一介面。這樣我們就可以不用管各資料庫公司不同的標準,而只學java官方提供的標準。
jdbc 開發程式步驟
先將jdbc的架包放在專案下根下的lib資料夾中
第一步:載入驅動程式
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
Driver 這個類裡面有靜態程式碼塊,一上來就執行了,所以等同於我們註冊了兩次驅動。 其實沒這個必要的。
靜態程式碼塊 —> 類載入了,就執行。 java.sql.DriverManager.registerDriver(new Driver());
Class.forName(JDBCDriverClass);//"com.mysql.jdbc.Driver"
第二步,建立連線
這裡因為我們 不能直接new一個Connection連結,所以我們要使用到一個方法 從DriverManager類中的靜態方法getConnection(databaseURL)
這裡我們應該想到資料庫可能是一個單例物件模式
Connection connection = DriverManager.getConnection("jdbc:mysql://hostname/dbname","scott","tiger");
//scott是使用者 tiger是密碼
第三步、建立語句
我們建立資料庫連線是為了執行語句,所以必須先要建立語句 註冊的驅動相當於管道,Connection相當於要到了通行證,最後就是需要用Statement把語句裝起來運送。
如何建立一個車
Statement statement = connection。createStatement();
第四步、執行語句 我們用到的是executeUpdate(String sql) 來執行sql的ddl資料定義語言或者更新語句,用executeQuery(String sql) 來執行Sql的查詢語句,並返回ResultSet
更新 例如
statement. executeUodate("create table Temp(coll char(5),col2 char(5))");
查詢
ResultSet resultSet = statement.executeQuery(sql_String);
第五步、處理結果集ResultSet
ResultSet 返回當前行的結果 而使用next可以移動到下一行 使用getter方法可以得到各種值
while(resultSet.next()){
String name = resultSet.getString("name");
.......
第六步、釋放資源
這些底層都是用io寫的,那就需要釋放資源
try {
if(resultSet != null){
resultSet .close();
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
resultSet = null;
}
//當然還有connection 和statement