java实现一个管理系统增删改查

后端 Java 接口实现

  1. 首先,确保你已经配置好数据库连接信息,并且已经创建了相应的数据库表。

  2. 创建一个实体类 User 来表示用户信息:

  • // User.java
    public class User {
        private Long id;
        private String username;
        private String email;
        // 省略 getter 和 setter 方法
    }
    

  • 创建一个 UserRepository 接口来定义数据库操作方法:
    // UserRepository.java
    public interface UserRepository {
        List<User> getAllUsers();
        User getUserById(Long id);
        void createUser(User user);
        void updateUser(User user);
        void deleteUser(Long id);
    }
    

  • 创建一个 UserRepositoryImpl 类来实现 UserRepository 接口,完成数据库操作:
    // UserRepositoryImpl.java
    @Repository
    public class UserRepositoryImpl implements UserRepository {
        @Autowired
        private JdbcTemplate jdbcTemplate;
    
        @Override
        public List<User> getAllUsers() {
            String sql = "SELECT * FROM users";
            return jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(User.class));
        }
    
        @Override
        public User getUserById(Long id) {
            String sql = "SELECT * FROM users WHERE id = ?";
            return jdbcTemplate.queryForObject(sql, new Object[]{id}, BeanPropertyRowMapper.newInstance(User.class));
        }
    
        @Override
        public void createUser(User user) {
            String sql = "INSERT INTO users (username, email) VALUES (?, ?)";
            jdbcTemplate.update(sql, user.getUsername(), user.getEmail());
        }
    
        @Override
        public void updateUser(User user) {
            String sql = "UPDATE users SET username = ?, email = ? WHERE id = ?";
            jdbcTemplate.update(sql, user.getUsername(), user.getEmail(), user.getId());
        }
    
        @Override
        public void deleteUser(Long id) {
            String sql = "DELETE FROM users WHERE id = ?";
            jdbcTemplate.update(sql, id);
        }
    }
    

  • 创建一个 UserController 类来处理前端请求并调用数据库操作:
    // UserController.java
    @RestController
    @RequestMapping("/api/users")
    public class UserController {
        @Autowired
        private UserRepository userRepository;
    
        @GetMapping("/")
        public List<User> getAllUsers() {
            return userRepository.getAllUsers();
        }
    
        @GetMapping("/{id}")
        public User getUserById(@PathVariable Long id) {
            return userRepository.getUserById(id);
        }
    
        @PostMapping("/")
        public void createUser(@RequestBody User user) {
            userRepository.createUser(user);
        }
    
        @PutMapping("/")
        public void updateUser(@RequestBody User user) {
            userRepository.updateUser(user);
        }
    
        @DeleteMapping("/{id}")
        public void deleteUser(@PathVariable Long id) {
            userRepository.deleteUser(id);
        }
    }
    

    前端调用示例

    在前端部分,你可以使用 Axios 或其他 HTTP 请求库来调用后端接口。以下是一个简单的示例:

    // 假设使用 Axios 库发送 HTTP 请求
    axios.get('/api/users')
        .then(response => {
            // 处理获取用户列表的响应数据
            console.log(response.data);
        })
        .catch(error => {
            // 处理错误
            console.error(error);
        });
    
    // 创建用户
    const newUser = { username: 'john_doe', email: 'john@example.com' };
    axios.post('/api/users', newUser)
        .then(response => {
            // 处理创建用户的响应
            console.log('User created successfully');
        })
        .catch(error => {
            // 处理错误
            console.error(error);
        });
    
    // 更新用户
    const updatedUser = { id: 1, username: 'updated_username', email: 'updated_email@example.com' };
    axios.put('/api/users', updatedUser)
        .then(response => {
            // 处理更新用户的响应
            console.log('User updated successfully');
        })
        .catch(error => {
            // 处理错误
            console.error(error);
        });
    
    // 删除用户
    const userId = 1;
    axios.delete(`/api/users/${userId}`)
        .then(response => {
            // 处理删除用户的响应
            console.log('User deleted successfully');
        })
        .catch(error => {
            // 处理错误
            console.error(error);
        });
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值