技术文摘
MySQL 中 JDBC 编程及增删改查的使用方法
2025-01-14 23:09:16 小编
MySQL 中 JDBC 编程及增删改查的使用方法
在开发基于 MySQL 数据库的应用程序时,JDBC(Java Database Connectivity)扮演着至关重要的角色。它为 Java 开发者提供了一种标准的 API,使得在 Java 程序中与 MySQL 数据库进行交互变得轻松高效。
要使用 JDBC 进行编程,需要导入相关的 JDBC 驱动包。可以从 MySQL 官方网站下载对应的 JDBC 驱动,将其添加到项目的类路径中。
建立数据库连接是 JDBC 编程的第一步。通过 DriverManager 类的 getConnection 方法,传入数据库的 URL、用户名和密码,就能获取一个 Connection 对象。例如:
String url = "jdbc:mysql://localhost:3306/yourdatabase";
String username = "root";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
接下来就是对数据库进行增删改查操作。
增加数据(INSERT):通过创建 PreparedStatement 对象,编写 SQL 插入语句,并设置相应的参数值。比如:
String insertSql = "INSERT INTO users (name, age) VALUES (?,?)";
PreparedStatement insertStatement = connection.prepareStatement(insertSql);
insertStatement.setString(1, "张三");
insertStatement.setInt(2, 25);
insertStatement.executeUpdate();
删除数据(DELETE):同样使用 PreparedStatement,编写删除语句并执行。例如:
String deleteSql = "DELETE FROM users WHERE id =?";
PreparedStatement deleteStatement = connection.prepareStatement(deleteSql);
deleteStatement.setInt(1, 1);
deleteStatement.executeUpdate();
修改数据(UPDATE):构造 UPDATE 语句,设置参数后执行更新操作。如下:
String updateSql = "UPDATE users SET age =? WHERE name =?";
PreparedStatement updateStatement = connection.prepareStatement(updateSql);
updateStatement.setInt(1, 26);
updateStatement.setString(2, "张三");
updateStatement.executeUpdate();
查询数据(SELECT):使用 PreparedStatement 编写查询语句,执行查询后通过 ResultSet 获取查询结果。示例代码:
String selectSql = "SELECT * FROM users";
PreparedStatement selectStatement = connection.prepareStatement(selectSql);
ResultSet resultSet = selectStatement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("ID: " + id + ", Name: " + name + ", Age: " + age);
}
在完成所有操作后,要及时关闭 ResultSet、PreparedStatement 和 Connection,以释放资源。
JDBC 为 Java 开发者提供了便捷的方式来操作 MySQL 数据库。熟练掌握 JDBC 编程及增删改查的使用方法,能有效提升开发效率,构建出稳定可靠的数据库应用程序。
- 一日一技:假删除引发文章发布成功却无法打开的 Bug 分析
- 前端如何在本地复现线上问题,本地明明是好的
- 这难道又是一个 Go 的 BUG 吗?
- Monkey 事件的类型参数包括哪些?
- 如何运用组合模式全知道
- Github 上八个出色的 Vue 项目等你来
- 十分钟明晰自动化测试与数据驱动的关系
- 10G 大文件的秒传、断点续传与分片上传
- Python 天气数据的爬取与可视化剖析
- 从 Kotlin 开发者视角看 Java 缺失的特性
- 疫情下的理想开发模式
- TIOBE 2022 年 5 月编程语言排行:C# 有望冲击前三?
- 美团一面:线程崩溃为何不致 JVM 崩溃
- 学校 Python 编程教学的理想 IDE
- Perl 不再流行,是否会消失?