一、持久層
1、持久層的定義
持久層是在應用程序和數據庫之間,提供持久化數據存儲的一個層次。其主要任務是將應用程序中的數據持久化到數據庫中。
2、持久層的作用
持久層的作用就是為了解決數據存儲和數據訪問的問題。在應用程序中,將數據轉化為對象,經過持久化機制,將數據保存到數據庫中,從而實現應用程序和數據庫之間的數據交互。
3、持久層的實現
public interface UserDao {
/**
* 新增用戶
*
* @param user 用戶信息
* @return 新增影響行數
*/
int addUser(User user);
/**
* 根據ID查詢用戶
*
* @param id 用戶ID
* @return 用戶信息
*/
User getUserById(Integer id);
/**
* 根據用戶名查詢用戶
*
* @param username 用戶名
* @return 用戶信息
*/
User getUserByUsername(String username);
/**
* 更新用戶
*
* @param user 用戶信息
* @return 更新影響行數
*/
int updateUser(User user);
/**
* 刪除用戶
*
* @param id 用戶ID
* @return 刪除影響行數
*/
int deleteUser(Integer id);
}
二、業務層
1、業務層的定義
業務層是在持久層和控制層之間,負責處理數據的一層。其主要任務是對數據庫中的數據進行加工和處理,使其更加符合業務需求。
2、業務層的作用
業務層的作用是為了解決業務邏輯的問題,對持久層的數據進行加工和處理,使其更加符合業務需求,為控制層提供數據。
3、業務層的實現
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
/**
* 新增用戶
*
* @param user 用戶信息
* @return 新增結果
*/
@Override
public Result addUser(User user) {
User tempUser = userDao.getUserByUsername(user.getUsername());
if (tempUser != null) {
return Result.fail("用戶名已存在");
}
int rows = userDao.addUser(user);
return ResultUtil.isSuccess(rows);
}
/**
* 根據ID查詢用戶
*
* @param id 用戶ID
* @return 用戶信息
*/
@Override
public User getUserById(Integer id) {
return userDao.getUserById(id);
}
/**
* 根據用戶名查詢用戶
*
* @param username 用戶名
* @return 用戶信息
*/
@Override
public User getUserByUsername(String username) {
return userDao.getUserByUsername(username);
}
/**
* 更新用戶
*
* @param user 用戶信息
* @return 更新結果
*/
@Override
public Result updateUser(User user) {
int rows = userDao.updateUser(user);
return ResultUtil.isSuccess(rows);
}
/**
* 刪除用戶
*
* @param id 用戶ID
* @return 刪除結果
*/
@Override
public Result deleteUser(Integer id) {
int rows = userDao.deleteUser(id);
return ResultUtil.isSuccess(rows);
}
}
三、控制層
1、控制層的定義
控制層是應用程序中最上層的一層,在持久層和業務層之上。其主要任務是接收用戶請求,處理用戶提交的信息,並返迴響應結果。
2、控制層的作用
控制層的作用是為了解決用戶請求的問題,接收用戶提交的信息,通過業務層將相關信息處理,並返迴響應結果給用戶。
3、控制層的實現
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
/**
* 新增用戶
*
* @param user 用戶信息
* @return 新增結果
*/
@PostMapping("/add")
public Result addUser(@RequestBody User user) {
return userService.addUser(user);
}
/**
* 根據ID查詢用戶
*
* @param id 用戶ID
* @return 用戶信息
*/
@GetMapping("/getById")
public User getUserById(@RequestParam("id") Integer id) {
return userService.getUserById(id);
}
/**
* 根據用戶名查詢用戶
*
* @param username 用戶名
* @return 用戶信息
*/
@GetMapping("/getByUsername")
public User getUserByUsername(@RequestParam("username") String username) {
return userService.getUserByUsername(username);
}
/**
* 更新用戶
*
* @param user 用戶信息
* @return 更新結果
*/
@PostMapping("/update")
public Result updateUser(@RequestBody User user) {
return userService.updateUser(user);
}
/**
* 刪除用戶
*
* @param id 用戶ID
* @return 刪除結果
*/
@PostMapping("/delete")
public Result deleteUser(@RequestParam("id") Integer id) {
return userService.deleteUser(id);
}
}
原創文章,作者:XTMKB,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/368127.html