JDBC學習總結

6x7d 9年前發布 | 16K 次閱讀 JDBC Java開發

JDBC編程步驟:

前提:去下載mysql對應的驅動jar包,加載到項目文件中.

1.加載驅動程序

  加載mysql驅動(數據庫是mysql)

Class.forName("com.mysql.jdbc.Driver");

2.獲得數據庫連接

private static final String URL = "jdbc:mysql://127.0.0.1:3306/myhome";  //數據庫url
private static final String USER = "root";  // 數據庫用戶名
private static final String PASSWORD = "0000";  // 數據庫密碼
private static Connection conn = null;  

// 建立一個到指定數據庫的連接,并返回一個Connection對象
conn = DriverManager.getConnection(URL, USER, PASSWORD); 

3.創建Statement對象

// 創建一個Statement對象,用以執行不帶參數的SQL查詢和更新
Statement stmt = conn.createStatement();  

4.從數據庫中查找數據

ResultSet rs = stmt.executeQuery("SELECT article_title, " + 
"article_context from article where id = " + id);  
// executeQuery()的參數是sql語句,查詢結果返回給結果集合rs中去

if (!rs.next()) {  // 判斷從數據庫中收否取出數據
    return null;
}

// 獲取第一條數據
Article article = new Article();
article.setId(id);
article.setTitle(rs.getString("article_title"));   
// rs對象的getString方法是查詢表中對應字段的名稱,返回的是記錄相應字段的內容
article.setContext(rs.getString("article_context"));

// 現在,已從數據庫中取出一條數據,并且付給Article對象

5.向數據庫中添加數據

Statement stmt = conn.createStatement();

Article article = new Article("title","content", new Date());
// ?相當于占位符,再給這些參數賦值,當真正執行時參數會加載到sql語句中,
// sql語句拼寫完整才執行,這樣減少對數據庫的操作
String sql = "insert into article " + 
"(article_title,article_context,article_date) " + "values (?,?,?)";
// preparedStatement方法將sql加載到驅動程序的執行程序中,但并不直接執行
// 當調用execute方法時,才真正執行
PreparedStatement ptmp = conn.prepareStatement(sql);
// 把數據加載到sql語句中
ptmp.setString(1,article.getTitle());
ptmp.setString(2,article.getContext());
// 在Article中date是util包下的,在下面的setDate中,需要的date參數是sql下的
ptmp.setDate(3,new Date(article.getDate().getTime()));
// 執行
ptmp.execute();
6.關閉

使用完ResultSet,Statement或Connection對象后,應立即調用close方法,這些對象都使用了規模較大的數據結構和數據庫存服務器上的有限資源.

在javaSE 7時,可以在Statement上調用closeOnCompletion方法,在其所有結果集都被關閉后,該語句會立即自動關閉.

 本文由用戶 6x7d 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!