Java連接MySQL數(shù)據(jù)庫(kù)是一個(gè)常見的需求,無(wú)論是在開發(fā)應(yīng)用程序時(shí)進(jìn)行數(shù)據(jù)存儲(chǔ)還是在開發(fā)過(guò)程中進(jìn)行數(shù)據(jù)操作,都需要使用數(shù)據(jù)庫(kù)連接。Java通過(guò)JDBC(Java Database Connectivity)提供了與MySQL數(shù)據(jù)庫(kù)交互的能力。接下來(lái)跟小編將介紹在Java中連接MySQL數(shù)據(jù)庫(kù)的五個(gè)基本步驟。
第一步:準(zhǔn)備MySQL數(shù)據(jù)庫(kù)
在進(jìn)行Java與MySQL的連接之前,首先需要確保MySQL數(shù)據(jù)庫(kù)已經(jīng)正確安裝并且正在運(yùn)行。如果數(shù)據(jù)庫(kù)尚未安裝,可以前往MySQL官網(wǎng)進(jìn)行下載并安裝。安裝完成后,還需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)和相應(yīng)的用戶賬戶,以便于Java程序進(jìn)行連接。
創(chuàng)建數(shù)據(jù)庫(kù)的基本SQL命令如下:
sqlCopy CodeCREATE DATABASE mydb;
創(chuàng)建用戶的SQL命令:
sqlCopy CodeCREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypassword';
授予用戶訪問(wèn)權(quán)限:
sqlCopy CodeGRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
第二步:導(dǎo)入MySQL JDBC驅(qū)動(dòng)
Java與MySQL連接需要用到MySQL的JDBC驅(qū)動(dòng)。為了能夠在Java項(xiàng)目中使用JDBC與MySQL通信,你需要將MySQL JDBC驅(qū)動(dòng)庫(kù)添加到你的項(xiàng)目中。
如果你使用的是Maven構(gòu)建工具,可以在pom.xml中加入以下依賴:
xmlCopy Code<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
</dependency>
如果沒(méi)有使用Maven,可以手動(dòng)下載MySQL JDBC驅(qū)動(dòng),并將其添加到項(xiàng)目的類路徑中。

第三步:建立數(shù)據(jù)庫(kù)連接
通過(guò)JDBC,Java程序可以與MySQL數(shù)據(jù)庫(kù)建立連接。首先,需要加載JDBC驅(qū)動(dòng)類,然后使用DriverManager.getConnection()方法來(lái)獲取數(shù)據(jù)庫(kù)連接。
以下是連接MySQL數(shù)據(jù)庫(kù)的代碼示例:
javaCopy Codeimport java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnection {
public static void main(String[] args) {
// JDBC連接URL
String url = "jdbc:mysql://localhost:3306/mydb";
// 數(shù)據(jù)庫(kù)用戶名
String user = "myuser";
// 數(shù)據(jù)庫(kù)密碼
String password = "mypassword";
try {
// 加載JDBC驅(qū)動(dòng)
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立數(shù)據(jù)庫(kù)連接
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println("連接成功!");
// 關(guān)閉連接
connection.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
第四步:執(zhí)行SQL查詢或更新
建立連接后,下一步通常是執(zhí)行SQL查詢或者更新。Java提供了Statement和PreparedStatement等接口用于執(zhí)行SQL語(yǔ)句。以下是執(zhí)行SQL查詢的示例代碼:
javaCopy Codeimport java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class MySQLQuery {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "myuser";
String password = "mypassword";
try {
// 建立連接
Connection connection = DriverManager.getConnection(url, user, password);
// 創(chuàng)建Statement對(duì)象
Statement statement = connection.createStatement();
// 執(zhí)行查詢語(yǔ)句
String sql = "SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(sql);
// 處理查詢結(jié)果
while (resultSet.next()) {
System.out.println("用戶名: " + resultSet.getString("username"));
}
// 關(guān)閉連接
resultSet.close();
statement.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
第五步:關(guān)閉數(shù)據(jù)庫(kù)連接
在完成數(shù)據(jù)庫(kù)操作后,務(wù)必要關(guān)閉連接、Statement對(duì)象以及ResultSet,以釋放系統(tǒng)資源。最好使用finally塊確保這些資源能夠在程序結(jié)束時(shí)正確關(guān)閉。
javaCopy Codetry {
// 建立數(shù)據(jù)庫(kù)連接
Connection connection = DriverManager.getConnection(url, user, password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
// 處理查詢結(jié)果
while (resultSet.next()) {
System.out.println(resultSet.getString("username"));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (resultSet != null) resultSet.close();
if (statement != null) statement.close();
if (connection != null) connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
通過(guò)以上五個(gè)步驟,Java程序就可以與MySQL數(shù)據(jù)庫(kù)進(jìn)行成功連接,并執(zhí)行查詢或更新操作。這五個(gè)步驟分別是:準(zhǔn)備數(shù)據(jù)庫(kù)、導(dǎo)入JDBC驅(qū)動(dòng)、建立數(shù)據(jù)庫(kù)連接、執(zhí)行SQL查詢或更新、關(guān)閉數(shù)據(jù)庫(kù)連接。掌握這些基本步驟后,你可以輕松地在Java應(yīng)用程序中與MySQL進(jìn)行數(shù)據(jù)交互,完成各種數(shù)據(jù)庫(kù)操作。