数据库表设计
Time: 2024-11-02 Saturday 15:34:01
Author: Jackasher
数据库表设计
对象分析
我感觉吧,就是根据前端数据表单分析,首先这个添加仓库, 肯定就是一个 VO 类接受, 然后,材料和仓库肯定是另外的表, 那么这个表自身的就应该是 id, 申请人,审核人,申请时间,然后操作每个表处理数据就可以了
我以前呢只知道数据库表对应一个类, 前端传入一个类,然后直接修改数据库, pojo 就是代表数据库类, 后来知道有一种叫 Vo,对应前端传入的对象,简单的话直接就对应一张表了, 不能是表的一部分, 麻烦的话就是含有多个表,要把里面的数据取出来, 封装在数据库的 pojo,然后进行操作
三种类型的 POJO 是系统开发中常见的:
-
与前端交互的 POJO:
- 主要用于数据展示和用户输入。这个 POJO 常称为 VO(Value Object) 或 DTO(Data Transfer Object)。
- 作用:负责封装从前端传递过来的数据,或者将需要展示的数据返回前端。
- 特点
- 通常包含需要与前端进行展示或交互的字段。
- 可以通过序列化为 JSON、XML 格式传递给前端。
示例:
1
2
3
4
5
6
7
public class UserDTO {
private String username;
private String email;
// Getter and Setter
} -
与数据库交互的 POJO:
- 用于与数据库中的表进行映射和交互,通常称为 PO(Persistent Object) 或 Entity(实体类)。
- 作用:封装数据库中的数据结构,ORM 框架(如 Hibernate、MyBatis)会将数据库中的表记录映射到这些对象上。
- 特点
- 直接与数据库表结构对应。
- 可能会包含数据库相关的注解或映射规则。
示例:
1
2
3
4
5
6
7
8
9
10
@Entity
public class UserPO {
@Id
private String id;
private String username;
private String password;
// Getter and Setter
} -
用于远程调用的 POJO:
- 远程调用(如通过 RPC 或 Web 服务)时,数据需要通过网络传输,因此需要序列化传输的对象,通常是 DTO(Data Transfer Object)。
- 作用:封装跨系统、跨服务之间传输的数据。
- 特点
- 通常用于服务之间的数据传输,减少不必要的字段。
- 可以使用轻量化的序列化格式,如 JSON、XML、或二进制格式(如 gRPC)。
示例:
1
2
3
4
5
6
7
public class UserRemoteDTO {
private String username;
private String email;
// Getter and Setter
}
数据库表设计
http://example.com/2024/11/02/数据库表设计/