java 使用jdbc连接mysql数据库并查询数据的代码

发布时间:2025-04-28      访问量:36
下面为你提供一个Java SE程序来连接MySQL数据库并查询数据。在运行代码之前,要确保已经安装了MySQL数据库,并且下载了对应的JDBC驱动(例如`mysql-connector-java`),同时在项目里配置好该驱动。

以下是具体的示例代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class ConnectAndQuery { public static void main(String[] args) { // 数据库连接信息 String url = "jdbc:mysql://localhost:3306/your_database_name"; String username = "your_username"; String password = "your_password"; try { // 加载 JDBC 驱动 Class.forName("com.mysql.cj.jdbc.Driver"); // 建立数据库连接 Connection connection = DriverManager.getConnection(url, username, password); // 创建 Statement 对象 Statement statement = connection.createStatement(); // 编写 SQL 查询语句 String sql = "SELECT * FROM your_table_name"; // 执行查询并获取结果集 ResultSet resultSet = statement.executeQuery(sql); // 处理结果集 while (resultSet.next()) { // 假设表中有 id 和 name 两列,根据实际情况修改 int id = resultSet.getInt("id"); String name = resultSet.getString("name"); System.out.println("ID: " + id + ", Name: " + name); } // 关闭资源 resultSet.close(); statement.close(); connection.close(); } catch (Exception e) { e.printStackTrace(); } } }

代码说明:
1. **数据库连接信息**:你要把`your_database_name`、`your_username`和`your_password`替换成实际的数据库名、用户名和密码。
2. **加载 JDBC 驱动**:使用`Class.forName("com.mysql.cj.jdbc.Driver")`来加载 MySQL 的 JDBC 驱动。
3. **建立数据库连接**:利用`DriverManager.getConnection(url, username, password)`方法建立与数据库的连接。
4. **创建`Statement`对象**:通过`connection.createStatement()`创建一个`Statement`对象,用于执行 SQL 语句。
5. **执行 SQL 查询**:运用`statement.executeQuery(sql)`执行 SQL 查询语句,并且获取结果集`ResultSet`。
6. **处理结果集**:借助`resultSet.next()`遍历结果集,再使用`resultSet.getInt()`和`resultSet.getString()`等方法获取每一行的数据。
7. **关闭资源**:在完成操作之后,要关闭`ResultSet`、`Statement`和`Connection`,避免资源泄漏。

注意事项:
- 要保证 MySQL 服务处于运行状态。
- 要确保 JDBC 驱动的版本和 MySQL 数据库的版本相兼容。
- 在实际开发中,建议使用`PreparedStatement`来避免 SQL 注入问题。
堆内存
多线程
strdup
初始化器
冒泡排序
增删改查
BufferedReader
输入输出
面向对象
生命周期
闭包的概念
原型链
Flask
mysql-connector-python
单例模式
浅拷贝
隔离级别
索引
InnoDB
左连接
聚合函数
PuTTY
TRUNCATE
str_starts_with_many
DateTime
array_combine
闭包的概念