数据封装
DO
DO = 数据库表的“映射对象”,只在“和数据库打交道”时用。不建议在DO中添加无关的字段
新增/更新时,通常需要使用到DO
java
UserDO user = new UserDO();
user.setName("张三");
userMapper.insert(user);java
int update(UserDO user);- 不建议直接返回给前端
DTO
DTO(Data Transfer Object)= 用来“接收前端参数”的对象
java
@Data
public class UserQueryDTO {
private String name;
private Integer age;
}java
@PostMapping("/list")
public List<UserVO> list(@RequestBody UserQueryDTO dto) {
return userService.list(dto);
}VO
返回给前端的对象应该就是VO,如果想偷懒,直接返回DO也是可以的
连接查询
java
@Data
public class UserVO {
private Long id;
private String name;
private Integer age;
private String address; // 关联字段
}xml
<select id="selectUserList" resultType="UserVO">
SELECT
u.id,
u.name,
u.age,
a.address
FROM user u
LEFT JOIN address a ON u.id = a.user_id
</select>java
List<UserVO> selectUserList();按需裁剪
java
@Data
public class UserSimpleVO {
private String name;
private Integer age;
}xml
<select id="selectSimpleList" resultType="UserSimpleVO">
SELECT name, age
FROM user
</select>java
public List<UserSimpleVO> list() {
return userMapper.selectSimpleList();
}