在Java中进行数据库编程通常涉及到使用JDBC(Java Database Connectivity)API。JDBC是一个标准的Java API,用于连接和操作数据库。以下是一个简单的例子,展示了如何使用Java和JDBC来连接并查询MySQL数据库:
步骤1:添加JDBC驱动到项目
首先,你需要将MySQL的JDBC驱动(mysql-connector-java.jar)添加到你的Java项目中。如果你使用的是像Maven或Gradle这样的构建工具,你可以通过添加依赖来自动下载和包含这个驱动。
步骤2:编写Java代码
接下来,编写Java代码来建立数据库连接,执行SQL查询,并处理结果。
java复制代码
import java.sql.Connection; | |
import java.sql.DriverManager; | |
import java.sql.ResultSet; | |
import java.sql.SQLException; | |
import java.sql.Statement; | |
public class JDBCExample { | |
// JDBC 驱动类名 | |
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver"; | |
// 数据库URL | |
static final String DB_URL = "jdbc:mysql://localhost/your_database_name?useSSL=false&serverTimezone=UTC"; | |
// 数据库用户名和密码 | |
static final String USER = "your_username"; | |
static final String PASS = "your_password"; | |
public static void main(String[] args) { | |
Connection conn = null; | |
Statement stmt = null; | |
try { | |
// 注册JDBC驱动 | |
Class.forName(JDBC_DRIVER); | |
// 打开连接 | |
System.out.println("Connecting to database..."); | |
conn = DriverManager.getConnection(DB_URL, USER, PASS); | |
// 执行查询 | |
System.out.println("Creating statement..."); | |
stmt = conn.createStatement(); | |
String sql; | |
sql = "SELECT id, name, age FROM Employees"; | |
ResultSet rs = stmt.executeQuery(sql); | |
// 处理结果集 | |
while (rs.next()) { | |
// 通过列名检索 | |
int id = rs.getInt("id"); | |
String name = rs.getString("name"); | |
int age = rs.getInt("age"); | |
// 显示值 | |
System.out.print("ID: " + id); | |
System.out.print(", Name: " + name); | |
System.out.print(", Age: " + age); | |
System.out.println(); | |
} | |
// 清理环境 | |
rs.close(); | |
stmt.close(); | |
conn.close(); | |
} catch (SQLException se) { | |
// 处理JDBC错误 | |
se.printStackTrace(); | |
} catch (Exception e) { | |
// 处理Class.forName错误 | |
e.printStackTrace(); | |
} finally { | |
// 最后,确保关闭资源 | |
try { | |
if (stmt != null) stmt.close(); | |
} catch (SQLException se2) { | |
} | |
try { | |
if (conn != null) conn.close(); | |
} catch (SQLException se) { | |
se.printStackTrace(); | |
} | |
} | |
System.out.println("Goodbye!"); | |
} | |
} |
注意:
your_database_name
、your_username
和your_password
替换为你的数据库名称、用户名和密码。com.mysql.cj.jdbc.Driver
。对于早期版本,它可能是com.mysql.jdbc.Driver
。PreparedStatement
而不是Statement
。