java连接数据库并且实现增删改查的完整代码
时间: 2023-08-30 17:04:15 浏览: 46
好的,以下是一个简单的Java程序,用于连接数据库并实现增删改查操作:
```java
import java.sql.*;
public class DatabaseExample {
// JDBC连接的URL,其中mydatabase为数据库名
static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";
// 数据库的用户名与密码,需要根据自己的设置进行修改
static final String USER = "root";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动器
Class.forName("com.mysql.jdbc.Driver");
// 打开连接
System.out.println("连接数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行查询
System.out.println("实例化Statement对象...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, name, age FROM users";
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);
System.out.println(", 年龄: " + age);
}
rs.close();
// 执行插入
System.out.println("插入新数据...");
sql = "INSERT INTO users (name, age) VALUES ('Tom', 28)";
stmt.executeUpdate(sql);
// 执行更新
System.out.println("更新数据...");
sql = "UPDATE users SET age = 30 WHERE name = 'Tom'";
stmt.executeUpdate(sql);
// 执行删除
System.out.println("删除数据...");
sql = "DELETE FROM users WHERE age = 30";
stmt.executeUpdate(sql);
// 再次查询以确认数据已被更改
System.out.println("查询更新后的数据...");
sql = "SELECT id, name, age FROM users";
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);
System.out.println(", 年龄: " + age);
}
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!");
}
}
```
说明:
- 这个示例使用了MySQL数据库,需要先下载并安装MySQL,然后创建名为`mydatabase`的数据库。
- 需要下载并导入MySQL的JDBC驱动程序。这里使用的是`com.mysql.jdbc.Driver`。
- 代码中包含了一个`main`方法,用于执行程序。
- `DB_URL`是数据库连接的URL,其中`localhost`表示本地数据库,`3306`是MySQL默认端口,`mydatabase`是数据库名。
- `USER`和`PASS`是数据库的用户名和密码,需要根据自己的设置进行修改。
- `Class.forName("com.mysql.jdbc.Driver")`用于注册JDBC驱动程序。
- `DriverManager.getConnection(DB_URL,USER,PASS)`用于打开与数据库的连接。
- `conn.createStatement()`用于创建一个`Statement`对象,用于执行SQL语句。
- `stmt.executeQuery(sql)`用于执行SELECT语句并返回结果集。
- `stmt.executeUpdate(sql)`用于执行INSERT、UPDATE和DELETE语句。
- `rs.next()`用于遍历结果集中的每一行。
- `rs.getInt("id")`、`rs.getString("name")`、`rs.getInt("age")`用于获取当前行中对应列的值。
- `rs.close()`用于关闭结果集。
- `stmt.close()`和`conn.close()`用于关闭数据库连接和`Statement`对象。