MySQL 作为一款开源的关系型数据库管理系统(RDBMS),凭借其高性能、可靠性和易用性,赢得了广泛的认可与应用
而 Java,作为一种流行的编程语言,以其强大的跨平台能力、面向对象特性和丰富的生态系统,在企业级应用开发中占据重要地位
本文将深入探讨如何使用 Java 从 MySQL数据库中读取并显示数据,旨在为读者提供一个清晰、高效且实用的解决方案
一、环境准备 在开始编码之前,确保你的开发环境中已安装以下软件: 1.JDK(Java Development Kit):Java编程的基础环境
2.MySQL Server:数据库服务器,用于存储和管理数据
3.MySQL Connector/J:MySQL 官方提供的 JDBC(Java Database Connectivity)驱动程序,用于 Java 与 MySQL 数据库之间的通信
4.IDE(集成开发环境):如 IntelliJ IDEA、Eclipse 或 NetBeans,用于编写、调试和管理 Java 项目
二、创建数据库和表 首先,在 MySQL 中创建一个示例数据库和表
假设我们要创建一个存储用户信息的表`users`
sql CREATE DATABASE mydatabase; USE mydatabase; CREATE TABLE users( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); 接下来,向表中插入一些示例数据: sql INSERT INTO users(username, email) VALUES(john_doe, john@example.com); INSERT INTO users(username, email) VALUES(jane_smith, jane@example.com); 三、配置 JDBC 连接 在 Java 中连接 MySQL 数据库,需要通过 JDBC
首先,确保 MySQL Connector/J驱动程序已添加到项目的类路径中
可以通过以下方式实现: - 将`.jar` 文件直接复制到项目目录下的`libs`文件夹(如果有的话),并在 IDE 中将其添加到构建路径
- 使用 Maven 或 Gradle 等构建工具自动管理依赖
以 Maven 为例,在`pom.xml` 中添加以下依赖:
xml
以下是一个完整的示例: java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class MySQLDataDisplay{ // 数据库连接信息 private static final String DB_URL = jdbc:mysql://localhost:3306/mydatabase; private static final String USER = root; //替换为你的数据库用户名 private static final String PASS = password; //替换为你的数据库密码 public static void main(String【】 args){ Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try{ //1. 注册 JDBC驱动程序(MySQL Connector/J 自动处理) // Class.forName(com.mysql.cj.jdbc.Driver); // 在 MySQL Connector/J8.0+ 中不再需要显式加载驱动 //2. 打开连接 conn = DriverManager.getConnection(DB_URL, USER, PASS); //3. 执行查询 String sql = SELECT id, username, email, created_at FROM users; pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); //4. 处理结果集 System.out.println(Users Table Data:); System.out.printf(%-10s %-20s %-30s %-25s%n, ID, Username, Email, Created At); while(rs.next()){ int id = rs.getInt(id); String username = rs.getString(username); String email = rs.getString(email); String createdAt = rs.getString(created_at); System.out.printf(%-10d %-20s %-30s %-25s%n, id, username, email, createdAt); } } catch(SQLException e){ e.printStackTrace(); } finally{ //5.清理环境 try{ if(rs!= null) rs.close(); if(pstmt!= null) pstmt.close(); if(conn!= null) conn.close(); } catch(SQLException se){ se.printStackTrace(); } } } } 五、代码解析 1.数据库连接信息:DB_URL、USER 和`PASS` 分别存储数据库的连接 URL、用户名和密码
确保这些信息与你的 MySQL 数据库配置相匹配
2.注册 JDBC 驱动程序:在 MySQL Connector/J8.0 及更高版本中,不再需要显式调用`Class.forName()` 来加载驱动程序,因为驱动程序会自动注册
3.打开连接:使用 `DriverManager.getConnection()` 方法建立与数据库的连接
4.执行查询:通过 `PreparedStatement` 执行 SQL 查询
`PreparedStatement` 是`Statement` 的一个子接口,它代表了一条预编译的 SQL语句,并可以提高性能和防止 SQL注入攻击
5.处理结果集:ResultSet 对象包含了 SQ