Java MySQL 连接
在 Java 中连接 MySQL 数据库通常需要以下几个步骤:
- 安装 MySQL JDBC 驱动程序:你需要下载并引入 MySQL JDBC 驱动,通常是
mysql-connector-java。 - 加载 JDBC 驱动:在 Java 中使用 JDBC 连接数据库时,首先需要加载 MySQL 的 JDBC 驱动。
- 创建数据库连接:使用
DriverManager类创建数据库连接。 - 执行 SQL 查询:通过
Statement或PreparedStatement执行 SQL 查询。 - 处理结果集:使用
ResultSet获取查询结果。 - 关闭连接:在程序结束时关闭数据库连接。
1. 添加 MySQL JDBC 驱动
如果你使用 Maven,可以在 pom.xml 中添加 MySQL JDBC 驱动的依赖:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version> <!-- 版本号根据实际情况调整 -->
</dependency>
如果没有使用 Maven,可以手动下载 MySQL JDBC 驱动 并将 JAR 文件添加到类路径中。
2. 创建数据库连接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnectionExample {
public static void main(String[] args) {
// 数据库连接信息
String url = "jdbc:mysql://localhost:3306/mydatabase"; // 数据库 URL
String user = "root"; // 数据库用户名
String password = "password"; // 数据库密码
// 连接数据库
try {
// 加载 JDBC 驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 创建连接
Connection conn = DriverManager.getConnection(url, user, password);
System.out.println("成功连接到数据库!");
// 这里可以执行 SQL 查询、更新等操作
// 关闭连接
conn.close();
} catch (ClassNotFoundException e) {
System.out.println("JDBC 驱动未找到");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("数据库连接失败");
e.printStackTrace();
}
}
}
3. 执行 SQL 查询
使用 Statement 或 PreparedStatement 执行 SQL 查询。推荐使用 PreparedStatement,它可以防止 SQL 注入并提供更好的性能。
使用 Statement 执行查询:
import java.sql.*;
public class StatementExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
try {
// 加载 JDBC 驱动并创建连接
Connection conn = DriverManager.getConnection(url, user, password);
// 创建 Statement 对象
Statement stmt = conn.createStatement();
// 执行查询
String sql = "SELECT * FROM employees";
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
// 关闭连接
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
使用 PreparedStatement 执行查询:
import java.sql.*;
public class PreparedStatementExample {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
try {
// 加载 JDBC 驱动并创建连接
Connection conn = DriverManager.getConnection(url, user, password);
// 创建 PreparedStatement
String sql = "SELECT * FROM employees WHERE id = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, 1); // 设置查询参数
// 执行查询
ResultSet rs = pstmt.executeQuery();
// 处理结果集
if (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("ID: " + id + ", Name: " + name);
}
// 关闭连接
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
4. 处理数据库结果集
查询结果通过 ResultSet 返回,你可以使用 ResultSet 对象来访问数据库返回的数据。
rs.getInt("column_name"): 获取整数类型的列数据。rs.getString("column_name"): 获取字符串类型的列数据。rs.next(): 移动到下一行结果。
5. 关闭数据库连接
在完成数据库操作后,务必关闭数据库连接,ResultSet 和 Statement 对象也应关闭,以释放资源。
rs.close();
stmt.close();
conn.close();
6. 异常处理
在数据库操作中,可能会遇到 SQLException,因此应捕获该异常并进行适当的处理。可以通过 e.printStackTrace() 输出异常信息,或根据业务需求做进一步处理。
总结
- 使用 JDBC 驱动连接 MySQL。
- 使用
Connection对象建立数据库连接。 - 通过
Statement或PreparedStatement执行 SQL 查询。 - 使用
ResultSet处理查询结果。 - 完成后,记得关闭连接、
ResultSet和Statement。
更多详细内容请关注其他相关文章。