Java JDBC是連接數(shù)據(jù)庫(kù)的必要技能,讓我們從連接MySQL數(shù)據(jù)庫(kù)開始學(xué)習(xí)。在Java中,可以使用通過JDBC提供的DriverManager類來連接MySQL數(shù)據(jù)庫(kù)。
Class.forName(“com.mysql.jdbc.Driver”); String url =“jdbc:mysql://localhost:3306/dbName”; String user =“root”; String password =“password”; Connection conn = DriverManager.getConnection(url,user,password);
以上代碼片段首先使用Class.forName加載MySQL驅(qū)動(dòng)程序,然后指定要連接的數(shù)據(jù)庫(kù)URL、用戶名和密碼,在DriverManager上調(diào)用getConnection()來建立連接并返回一個(gè)Connection對(duì)象。
如果連接成功,則可以使用Connection對(duì)象的createStatement()方法執(zhí)行SQL查詢和更新操作。例如,要執(zhí)行SELECT語句并輸出結(jié)果:
Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(“SELECT * FROM myTable”); while(rs.next()){ System.out.println(rs.getInt(1)+“, ”+ rs.getString(2)); }
在以上代碼中,使用Statement對(duì)象的executeQuery()方法執(zhí)行SELECT語句,它返回一個(gè)ResultSet對(duì)象。使用ResultSet對(duì)象的next()方法遍歷結(jié)果集并輸出結(jié)果。
為了避免SQL注入攻擊,應(yīng)該使用PreparedStatement對(duì)象代替Statement對(duì)象。PreparedStatement允許在執(zhí)行SQL之前使用參數(shù)化查詢,而不是在字符串中拼接參數(shù)值。
PreparedStatement pstmt = conn.prepareStatement(“SELECT * FROM myTable WHERE id =?”); pstmt.setInt(1,id); ResultSet rs = pstmt.executeQuery(); while(rs.next()){ //處理結(jié)果 }
最后,在使用完Connection對(duì)象后,需要關(guān)閉它和相關(guān)的Statement和ResultSet對(duì)象:
rs.close(); stmt.close(); conn.close();
以上是Java JDBC連接MySQL數(shù)據(jù)庫(kù)的基本知識(shí),希望能幫助初學(xué)者快速入門。