用java写一个CRUD
时间: 2023-03-21 20:02:45 浏览: 88
好的,我可以回答你的问题。
CRUD是指创建(Create)、读取(Retrieve)、更新(Update)、删除(Delete)四个基本操作,是许多软件系统中最基本的数据操作。以下是一个简单的Java代码示例,用于演示如何实现CRUD操作:
首先,创建一个实体类(entity class):
```java
public class Person {
private int id;
private String name;
private int age;
// 构造函数
public Person(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
// getter和setter方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
```
接下来,创建一个数据访问对象类(data access object class),它将负责实现CRUD操作:
```java
import java.sql.*;
public class PersonDAO {
private Connection conn;
// 构造函数,用于创建数据库连接
public PersonDAO() throws SQLException {
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
}
// 关闭数据库连接
public void close() throws SQLException {
if (conn != null) {
conn.close();
}
}
// 创建一个新的Person对象
public void create(Person person) throws SQLException {
PreparedStatement ps = conn.prepareStatement("INSERT INTO person (id, name, age) VALUES (?, ?, ?)");
ps.setInt(1, person.getId());
ps.setString(2, person.getName());
ps.setInt(3, person.getAge());
ps.executeUpdate();
ps.close();
}
// 根据ID查询一个Person对象
public Person retrieve(int id) throws SQLException {
PreparedStatement ps = conn.prepareStatement("SELECT * FROM person WHERE id = ?");
ps.setInt(1, id);
ResultSet rs = ps.executeQuery();
Person person = null;
if (rs.next()) {
person = new Person(rs.getInt("id"), rs.getString("name"), rs.getInt("age"));
}
rs.close();
ps.close();
return person;
}
// 更新一个Person对象
public void update(Person person) throws SQLException {
PreparedStatement ps = conn.prepareStatement("UPDATE person SET name = ?, age = ? WHERE id = ?");
ps.setString(1, person.getName());
ps.setInt(2, person.getAge());
ps.setInt(3, person.getId());
ps.executeUpdate();
ps.close();
}
// 根据ID删除一个Person对象
public void delete(int id) throws SQLException {
PreparedStatement ps = conn.prepareStatement("DELETE FROM person WHERE id = ?");
ps.setInt(1, id);
ps.executeUpdate();
ps.close();
}
}
```
现在我们可以在主程序中使用PersonDAO类来执行CRUD操作了:
```java
public class Main {
public static void main(String[] args) throws SQLException {
PersonDAO dao = new PersonDAO();
// 创建一个新的Person对象
Person p1 = new Person(1, "Alice", 25);
dao.create(p1);
// 查询一个