Java通过JDBC连接MySQL进行数据存储与管理,使用DriverManager获取连接,Statement执行SQL语句,高效且方便。
Java连接MySQL详解:实现高效数据存储与管理

东昌府ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!
在Java程序中,我们经常需要与MySQL数据库进行交互,以实现数据的存储和管理,本文将详细介绍如何使用Java连接到MySQL数据库,并执行基本的SQL操作。
1. 导入JDBC驱动
我们需要导入MySQL的JDBC驱动,在项目中添加以下依赖:
mysql mysqlconnectorjava 8.0.26
2. 加载驱动并建立连接
接下来,我们需要加载驱动并建立与MySQL数据库的连接,以下是一个简单的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySQLConnection {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "your_password";
try {
// 加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
Connection connection = DriverManager.getConnection(url, user, password);
System.out.println("连接成功!");
// 关闭连接
connection.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
3. 执行SQL操作
建立连接后,我们可以使用Statement对象来执行SQL操作,以下是一个简单的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MySQLOperations {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "your_password";
try {
// 加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
Connection connection = DriverManager.getConnection(url, user, password);
// 创建Statement对象
Statement statement = connection.createStatement();
// 执行查询操作
ResultSet resultSet = statement.executeQuery("SELECT * FROM users");
// 处理结果集
while (resultSet.next()) {
System.out.println("ID: " + resultSet.getInt("id") + ", Name: " + resultSet.getString("name"));
}
// 关闭资源
resultSet.close();
statement.close();
connection.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
4. 使用预处理语句
为了提高性能和安全性,我们可以使用预处理语句(PreparedStatement)来执行SQL操作,以下是一个简单的示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class MySQLPreparedStatement {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/test_db?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "your_password";
try {
// 加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立连接
Connection connection = DriverManager.getConnection(url, user, password);
// 创建预处理语句对象
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM users WHERE id = ?");
// 设置参数
preparedStatement.setInt(1, 1);
// 执行查询操作
ResultSet resultSet = preparedStatement.executeQuery();
// 处理结果集
while (resultSet.next()) {
System.out.println("ID: " + resultSet.getInt("id") + ", Name: " + resultSet.getString("name"));
}
// 关闭资源
resultSet.close();
preparedStatement.close();
connection.close();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
常见问题与解答
Q1: 如何防止SQL注入攻击?
A1: 使用预处理语句(PreparedStatement)可以有效防止SQL注入攻击,因为它会对参数进行安全处理。
Q2: 如何在多个方法中复用数据库连接?
A2: 可以使用连接池(如C3P0、Druid等)来管理和复用数据库连接,以提高性能和资源利用率。