JDBC是Java Database Connectivity的縮寫,是Java語(yǔ)言操作數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)規(guī)范。它提供了一組接口,使得Java程序與各種關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行連接和操作變得簡(jiǎn)單、方便。
連接MySQL數(shù)據(jù)庫(kù)時(shí),需要使用MySQL Connector/J驅(qū)動(dòng)程序。這個(gè)驅(qū)動(dòng)程序可以從MySQL官方網(wǎng)站下載。
首先,需要通過Class.forName()方法加載驅(qū)動(dòng)程序:
Class.forName("com.mysql.jdbc.Driver");
然后,使用DriverManager.getConnection()方法,傳入數(shù)據(jù)庫(kù)的URL、用戶名和密碼,獲取數(shù)據(jù)庫(kù)連接:
// 數(shù)據(jù)庫(kù)URL,形式為jdbc:mysql://host:port/database String url = "jdbc:mysql://localhost:3306/mydb"; // 數(shù)據(jù)庫(kù)用戶名 String username = "root"; // 數(shù)據(jù)庫(kù)密碼 String password = "123456"; // 獲取數(shù)據(jù)庫(kù)連接 Connection conn = DriverManager.getConnection(url, username, password);
如果連接成功,這個(gè)conn對(duì)象就可以被用來執(zhí)行SQL語(yǔ)句,例如:
// 創(chuàng)建Statement對(duì)象 Statement stmt = conn.createStatement(); // 執(zhí)行SQL查詢 ResultSet rs = stmt.executeQuery("SELECT * FROM users"); // 處理查詢結(jié)果 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println(id + ", " + name + ", " + age); } // 釋放資源 rs.close(); stmt.close(); conn.close();
上面的代碼展示了獲取數(shù)據(jù)庫(kù)連接、執(zhí)行查詢和處理查詢結(jié)果的基本流程。需要注意的是,執(zhí)行完SQL語(yǔ)句后,需要手動(dòng)釋放資源,包括ResultSet、Statement和Connection三個(gè)對(duì)象。
除了基本的查詢操作,JDBC還支持事務(wù)管理、預(yù)處理語(yǔ)句和批處理等高級(jí)功能,可以根據(jù)需要選擇使用。