Java 完成对用户表 的增删改查 用户表字段 ID username password 详细过程
时间: 2023-12-16 19:05:15 浏览: 94
Springboot增删改查MySQL
好的,我可以给出一个基本的 Java 实现示例,实现对用户表的增删改查操作。假定用户表的表名为 users,具有三个字段:ID、username 和 password。
首先需要导入相关的 Java 库:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
```
接下来,定义一个连接数据库的方法,用于获取数据库连接对象 Connection:
```java
public Connection getConnection() throws SQLException {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "mypassword";
Connection conn = DriverManager.getConnection(url, user, password);
return conn;
}
```
其中,url、user 和 password 分别表示数据库的 URL、用户名和密码,这些需要根据实际情况进行修改。
接下来,定义一个查询所有用户的方法:
```java
public List<User> findAll() throws SQLException {
List<User> users = new ArrayList<>();
String sql = "SELECT * FROM users";
try (Connection conn = getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery()) {
while (rs.next()) {
User user = new User();
user.setId(rs.getInt("ID"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
users.add(user);
}
}
return users;
}
```
其中,User 是一个自定义的 Java 类,用于表示用户信息。上述代码中,使用 try-with-resources 语句自动关闭资源,执行 SQL 查询语句,并将结果集中的每个用户信息封装成一个 User 对象,最后将所有用户信息添加到 users 集合中并返回。
接下来,定义一个根据用户 ID 查询用户的方法:
```java
public User findById(int id) throws SQLException {
User user = null;
String sql = "SELECT * FROM users WHERE ID=?";
try (Connection conn = getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, id);
try (ResultSet rs = pstmt.executeQuery()) {
if (rs.next()) {
user = new User();
user.setId(rs.getInt("ID"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
}
}
}
return user;
}
```
上述代码中,首先定义了一个 User 对象 user,并将其初始化为 null。然后执行 SQL 查询语句,查询 ID 为指定值的用户信息,并将查询结果封装成一个 User 对象赋值给 user。最后返回 user 对象。
接下来,定义一个添加用户的方法:
```java
public void save(User user) throws SQLException {
String sql = "INSERT INTO users (username, password) VALUES (?, ?)";
try (Connection conn = getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, user.getUsername());
pstmt.setString(2, user.getPassword());
pstmt.executeUpdate();
}
}
```
上述代码中,首先定义了一个 SQL 插入语句,将指定的用户名和密码插入到 users 表中,然后执行 SQL 语句,将数据插入到数据库中。
最后,定义一个更新用户信息的方法:
```java
public void update(User user) throws SQLException {
String sql = "UPDATE users SET username=?, password=? WHERE ID=?";
try (Connection conn = getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, user.getUsername());
pstmt.setString(2, user.getPassword());
pstmt.setInt(3, user.getId());
pstmt.executeUpdate();
}
}
```
上述代码中,首先定义了一个 SQL 更新语句,将指定用户 ID 的用户名和密码更新为指定的值,然后执行 SQL 语句,将数据更新到数据库中。
最后,定义一个删除用户的方法:
```java
public void delete(int id) throws SQLException {
String sql = "DELETE FROM users WHERE ID=?";
try (Connection conn = getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setInt(1, id);
pstmt.executeUpdate();
}
}
```
上述代码中,首先定义了一个 SQL 删除语句,删除指定 ID 的用户信息,然后执行 SQL 语句,将数据从数据库中删除。
以上就是一个基本的 Java 实现示例,实现了对用户表的增删改查操作。需要注意的是,上述代码中的 SQL 语句以及表名等需要根据实际情况进行修改。
阅读全文