MySQL数据库 JDBC 编程(Java 连接 MySQL)攻略
1. 准备工作
在进行 MySQL JDBC 编程前,我们需要完成以下准备工作:
1.1 安装 MySQL 数据库
MySQL 数据库官网提供了各个平台下的安装包,我们可以根据自己的操作系统下载并安装 MySQL 数据库。
1.2 下载 MySQL JDBC 驱动
MySQL JDBC 驱动是连接 MySQL 数据库的重要工具,我们需要从官网下载稳定的 JDBC 驱动并放到 Java 项目的 classpath 路径下。
1.3 创建数据库和表
通过 MySQL 客户端或者第三方工具创建数据库和表,并在表中添加一些数据。
2. 编写 JDBC 程序
2.1 导入 JDBC 包
我们需要在 Java 项目中导入 JDBC 包,以便使用 JDBC 相关的类和方法。
import java.sql.*;
2.2 创建连接
在 JDBC 编程中,我们需要通过 DriverManger 类创建一个连接。需要传入的参数有数据库的 URL、用户名和密码。
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
Connection conn = DriverManager.getConnection(url, user, password);
2.3 创建 Statement
通过 Connection 对象的 createStatement() 方法创建 Statement 对象,以便后续对数据库进行操作。
Statement stmt = conn.createStatement();
2.4 执行 SQL 语句
通过 Statement 对象的 executeQuery() 方法执行 SQL 语句并返回结果集。
String sql = "SELECT * FROM mytable";
ResultSet rs = stmt.executeQuery(sql);
2.5 处理结果集
通过 ResultSet 对象的 getXXX() 方法获取结果集中的数据。
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id: " + id + ", name: " + name + ", age: " + age);
}
2.6 关闭连接和 Statement
在 JDBC 编程中,我们需要在完成操作后关闭连接和 Statement。可以在 finally 块中关闭连接和 Statement。
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
3. 示例
下面给出两个 Java 连接 MySQL 数据库的示例。
3.1 查询数据
import java.sql.*;
public class QueryData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
String sql = "SELECT * FROM mytable";
rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id: " + id + ", name: " + name + ", age: " + age);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
3.2 插入数据
import java.sql.*;
public class InsertData {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
Connection conn = null;
Statement stmt = null;
try {
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
String sql = "INSERT INTO mytable (name, age) VALUES ('Alice', 20)";
int rows = stmt.executeUpdate(sql);
System.out.println("影响的行数:" + rows);
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL数据库 JDBC 编程(Java 连接 MySQL) - Python技术站