一铸豁、entity層
別名: model層 灌曙,domain層
用途: 實(shí)體層,用于存放我們的實(shí)體類(lèi)节芥,與數(shù)據(jù)庫(kù)中的屬性值基本保持一致在刺,實(shí)現(xiàn)set和get的方法。
例子:user表的實(shí)體User
public class User {
/**
* 用戶id
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* 用戶昵稱
*/
private String nick;
/**
* 手機(jī)號(hào)
*/
private String mobile;
/**
* 頭像地址
*/
@Column(name = "head_image_url")
private String headImageUrl;
/**
* 獲取用戶id
*
* @return id - 用戶id
*/
public Long getId() {
return id;
}
/**
* 設(shè)置用戶id
*
* @param id 用戶id
*/
public void setId(Long id) {
this.id = id;
}
/**
* 獲取用戶昵稱
*
* @return nick - 用戶昵稱
*/
public String getNick() {
return nick;
}
/**
* 設(shè)置用戶昵稱
*
* @param nick 用戶昵稱
*/
public void setNick(String nick) {
this.nick = nick;
}
/**
* 獲取手機(jī)號(hào)
*
* @return mobile - 手機(jī)號(hào)
*/
public String getMobile() {
return mobile;
}
/**
* 設(shè)置手機(jī)號(hào)
*
* @param mobile 手機(jī)號(hào)
*/
public void setMobile(String mobile) {
this.mobile = mobile;
}
/**
* 獲取頭像地址
*
* @return head_image_url - 頭像地址
*/
public String getHeadImageUrl() {
return headImageUrl;
}
/**
* 設(shè)置頭像地址
*
* @param headImageUrl 頭像地址
*/
public void setHeadImageUrl(String headImageUrl) {
this.headImageUrl = headImageUrl;
}
}
二藏古、mapper層
別名: dao層
用途: 對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)持久化操作增炭,他的方法語(yǔ)句是直接針對(duì)數(shù)據(jù)庫(kù)操作的,主要實(shí)現(xiàn)一些增刪改查操作拧晕,在mybatis中方法主要與與xxx.xml內(nèi)相互一一映射隙姿。
示例:userMapper
public interface userMapper {
int deleteByPrimaryKey(Long id);
int insert(user record);
int insertSelective(user record);
user selectByPrimaryKey(Long id);
int updateByPrimaryKeySelective(user record);
int updateByPrimaryKey(user record);
}
三、service層
用途:業(yè)務(wù)service層厂捞,給controller層的類(lèi)提供接口進(jìn)行調(diào)用输玷。一般就是自己寫(xiě)的方法封裝起來(lái),就是聲明一下靡馁,具體實(shí)現(xiàn)在serviceImpl中欲鹏。
示例:UserService
public interface UserService extends Service<User> {
}
四、controller層
別名:web 層
用途: 控制層臭墨,負(fù)責(zé)具體模塊的業(yè)務(wù)流程控制赔嚎,需要調(diào)用service邏輯設(shè)計(jì)層的接口來(lái)控制業(yè)務(wù)流程。因?yàn)閟ervice中的方法是我們使用到的胧弛,controller通過(guò)接收前端H5或者App傳過(guò)來(lái)的參數(shù)進(jìn)行業(yè)務(wù)操作尤误,再將處理結(jié)果返回到前端。
示例:UserController
@RestController
@RequestMapping("/user")
public class UserController {
@Resource
private UserService userService;
@PostMapping("/add")
public Result add(User user) {
userService.save(user);
return ResultGenerator.genSuccessResult();
}
@PostMapping("/delete")
public Result delete(@RequestParam Integer id) {
userService.deleteById(id);
return ResultGenerator.genSuccessResult();
}
@PostMapping("/update")
public Result update(User user) {
userService.update(user);
return ResultGenerator.genSuccessResult();
}
@PostMapping("/detail")
public Result detail(@RequestParam Integer id) {
User user = userService.findById(id);
return ResultGenerator.genSuccessResult(user);
}
@PostMapping("/list")
public Result list(@RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "0") Integer size) {
PageHelper.startPage(page, size);
List<User> list = userService.findAll();
PageInfo pageInfo = new PageInfo(list);
return ResultGenerator.genSuccessResult(pageInfo);
}
}