用java与数据库连接前端写出个增删查改的功能
时间: 2024-03-12 18:43:09 浏览: 18
好的,这里我提供一个简单的示例代码:
1. 首先,我们需要在 Java 中连接数据库。这里以 MySQL 数据库为例,使用 JDBC 进行连接:
```
import java.sql.*;
public class DatabaseConnection {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";
static final String USER = "username";
static final String PASS = "password";
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
return conn;
}
}
```
2. 接下来,我们定义一个 User 类,表示数据库中的一个用户:
```
public class User {
private int id;
private String name;
private int age;
private String gender;
// 构造函数
public User(int id, String name, int age, String gender) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
}
// 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;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
```
3. 现在,我们可以编写增删查改功能了。以下代码实现了四个方法:addUser、deleteUser、getUserById 和 updateUser,分别实现了添加用户、删除用户、根据 ID 查询用户和更新用户信息的功能:
```
import java.sql.*;
public class UserDao {
// 添加用户
public void addUser(User user) {
Connection conn = DatabaseConnection.getConnection();
String sql = "INSERT INTO user (id, name, age, gender) VALUES (?, ?, ?, ?)";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, user.getId());
pstmt.setString(2, user.getName());
pstmt.setInt(3, user.getAge());
pstmt.setString(4, user.getGender());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除用户
public void deleteUser(int id) {
Connection conn = DatabaseConnection.getConnection();
String sql = "DELETE FROM user WHERE id = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 根据 ID 查询用户
public User getUserById(int id) {
Connection conn = DatabaseConnection.getConnection();
String sql = "SELECT * FROM user WHERE id = ?";
User user = null;
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
int userId = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
user = new User(userId, name, age, gender);
}
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return user;
}
// 更新用户信息
public void updateUser(User user) {
Connection conn = DatabaseConnection.getConnection();
String sql = "UPDATE user SET name = ?, age = ?, gender = ? WHERE id = ?";
try {
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getName());
pstmt.setInt(2, user.getAge());
pstmt.setString(3, user.getGender());
pstmt.setInt(4, user.getId());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
4. 最后,我们可以在前端调用这些方法来实现增删查改的功能。例如,以下代码演示了如何添加一个用户:
```
UserDao userDao = new UserDao();
User user = new User(1, "张三", 20, "男");
userDao.addUser(user);
```
以上代码只是一个简单的示例,实际应用中还需要考虑异常处理、安全性、性能优化等问题。