springboot 使用三层框架搭建一个简单的增删改查业务系统的代码。要求要有实体层(pojo)数据链路层(dao)业务层(service)业务实现层(serviceimpl)前端接口数据交互层(controller)请用代码实现
实体层(pojo)
public class User {
private Long id;
private String name;
private Integer age;
// 省略 getter / setter
}
数据链路层(dao)
@Repository
public interface UserDao {
List listUsers();
User getUserById(Long id);
void addUser(User user);
void updateUser(User user);
void deleteUser(Long id);
}
业务层(service)
public interface UserService {
List listUsers();
User getUserById(Long id);
void addUser(User user);
void updateUser(User user);
void deleteUser(Long id);
}
业务实现层(serviceimpl)
@Service
@Transactional(rollbackFor = Exception.class)
public class UserServiceImpl implements UserService {
@Resource
UserDao userDao;
@Override
public List<User> listUsers() {
return userDao.listUsers();
}
@Override
public User getUserById(Long id) {
return userDao.getUserById(id);
}
@Override
public void addUser(User user) {
userDao.addUser(user);
}
@Override
public void updateUser(User user) {
userDao.updateUser(user);
}
@Override
public void deleteUser(Long id) {
userDao.deleteUser(id);
}
}
前端接口数据交互层(controller)
@RestController
@RequestMapping(“/api/users”)
public class UserController {
@Resource
UserService userService;
@GetMapping("")
public List<User> listUsers() {
return userService.listUsers();
}
@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
return userService.getUserById(id);
}
@PostMapping("")
public void addUser(@RequestBody User user) {
userService.addUser(user);
}
@PutMapping("/{id}")
public void updateUser(@PathVariable Long id, @RequestBody User user) {
User oldUser = userService.getUserById(id);
oldUser.setName(user.getName());
oldUser.setAge(user.getAge());
userService.updateUser(oldUser);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}