JDBC是Java語言訪問數據庫的標準接口,而MySQL是一種流行的開源關系型數據庫。在使用JDBC訪問MySQL時,需要先安裝MySQL數據庫并啟動服務,然后在Java程序中進行以下操作:
//加載驅動程序 Class.forName("com.mysql.jdbc.Driver"); //連接數據庫 Connection conn = DriverManager.getConnection(url, user, password); //創建Statement對象 Statement stmt = conn.createStatement(); //執行SQL語句 ResultSet rs = stmt.executeQuery(sql); //處理結果集 while(rs.next()){ String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("Name: " + name + " Age: " + age); } //關閉資源 rs.close(); stmt.close(); conn.close();
上述代碼中,首先要加載MySQL的JDBC驅動程序,然后使用DriverManager獲取數據庫連接,接著創建Statement對象并執行SQL語句,最后處理結果集。需要注意的是,在完成所有操作后要關閉資源,以釋放占用的內存。
除了使用Statement對象執行查詢語句外,還可以使用PreparedStatement對象實現參數化查詢,避免SQL注入攻擊。例如:
//創建PreparedStatement對象 PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE name = ?"); //設置參數值 pstmt.setString(1, "張三"); //執行查詢 ResultSet rs = pstmt.executeQuery(); //處理結果集 while(rs.next()){ String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("Name: " + name + " Age: " + age); } //關閉資源 rs.close(); pstmt.close(); conn.close();
上述代碼中,創建PreparedStatement對象時使用了參數占位符"?",然后通過setString方法設置具體參數值,最后執行查詢并處理結果集。使用PreparedStatement對象可以保證查詢語句的安全性,提高程序的健壯性。