Java 是一種非常流行的編程語(yǔ)言,在開(kāi)發(fā)過(guò)程中,經(jīng)常需要與數(shù)據(jù)庫(kù)進(jìn)行交互。MySQL 是一種常用的關(guān)系型數(shù)據(jù)庫(kù),非常適合與 Java 進(jìn)行配合使用。下面,我們來(lái)介紹一下如何使用 Java 連接 MySQL 數(shù)據(jù)庫(kù)。
// 導(dǎo)入相關(guān)的包 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; // 定義連接數(shù)據(jù)庫(kù)的方法 public class DBUtil { private static final String URL = "jdbc:mysql://localhost:3306/test"; private static final String USER = "root"; private static final String PASSWORD = "123456"; public static Connection getConnection() { Connection conn = null; try { // 加載數(shù)據(jù)庫(kù)驅(qū)動(dòng) Class.forName("com.mysql.cj.jdbc.Driver"); // 獲取連接 conn = DriverManager.getConnection(URL, USER, PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } }
上面的代碼使用了 JDBC(Java Database Connectivity)API 來(lái)連接 MySQL 數(shù)據(jù)庫(kù)。其中,最重要的是獲取數(shù)據(jù)庫(kù)連接的部分。我們需要使用DriverManager
類來(lái)獲取連接,并傳遞對(duì)應(yīng)的數(shù)據(jù)庫(kù) URL、用戶名和密碼。
需要注意的是,我們需要先加載數(shù)據(jù)庫(kù)驅(qū)動(dòng),才能成功連接 MySQL 數(shù)據(jù)庫(kù)。上述代碼中使用的是 MySQL 5.1.6 版本的數(shù)據(jù)庫(kù)驅(qū)動(dòng)。
當(dāng)獲取到連接之后,我們就可以使用 JDBC API 來(lái)與數(shù)據(jù)庫(kù)進(jìn)行交互了。例如,以下代碼可以執(zhí)行一個(gè)查詢操作,并輸出結(jié)果:
// 獲取連接 Connection conn = DBUtil.getConnection(); // 執(zhí)行查詢 Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT name, age FROM user WHERE id = 1"); while (rs.next()) { String name = rs.getString("name"); int age = rs.getInt("age"); System.out.println("name: " + name + ", age: " + age); } } catch (SQLException e) { e.printStackTrace(); } finally { // 關(guān)閉連接 try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } }
上面的代碼使用了Statement
類來(lái)執(zhí)行查詢語(yǔ)句,并使用ResultSet
來(lái)獲取查詢結(jié)果。需要注意的是,操作完成后需要顯式地關(guān)閉連接,以釋放資源。
總之,使用 Java 連接 MySQL 數(shù)據(jù)庫(kù)并不難,只需要掌握一些基本的 JDBC API 就可以了。希望本文能夠?qū)?Java 開(kāi)發(fā)人員有所幫助。