VO BO PO DO DTO和POJO的区别
不同的需求,根据不同场景使用不同的Entity实体类,通常简单的场景直接使用POJO;
VO | value object | 值对象/表现层对象 | 是在表现层后端数据返回给前端页面 |
BO | Business Object | 业务层对象 | 是在业务层进行使用的Java对象 |
PO | Persistant Object | 持久层对象 | 是在持久层 使用的Java对象 |
DO | Domain object | 领域对象 | 现实世界中的数据---》抽象出来的对象 |
DTO | Data Transfer Object | 数据传输对象 | 在系统之间进行通信的时候使用 |
POJO | Plain Ordinary Java Object | 普通Java对象 | 简单Java对象 |
DAO | data access object | 数据访问对象 | 持久层:用来操作MySQL数据库 |
ORM,Object Relational Mapping(对象关系映射)
O = Object (对象),R=Relational (关系),M=Mapping(映射)
对象和关系之间的映射,使用面向对象的方式来操作数据库。ORM解决的主要问题就是对象关系的映射(类与数据库表的映射关系),将对象持久化到数据库中
ORM的方法论基于三个核心原则:
简单:以最基本的形式建模数据
传达性:数据库结构被任何人都能理解的语言文档化
精确性:基于数据模型创建正确标准化了的结构
ORM对象和关系之间的映射
MySQL数据库 | Java的POJO | |
table | class | 表 映射为 类(class) |
row | object | 行 映射为 实例/对象(object) |
column | property/attribute | 字段(field)映射为 属性(attribute) |
Controller层/web层/表现层
负责请求转发,接受前端页面传递过来的参数,再调用Service层业务处理,接到返回值,最后返回给前端页面。
Service层/业务层/服务层,(Service层=XXXservice接口+XXXservicelmpl实现类)
服务层,对一个或多个DAO层进行封装,使用一个方法对外表现为实现一个功能。
当项目的业务逻辑简单时,可选择service层=service类;
当项目的业务复杂时,可选择service层=service接口+serviceImpl实现类;
DAO层/持久层/数据访问层 Data Access Object ,(dao层=XXXMapper接口)
用来操作MySQL数据库的,封装了增删改查基本操作,建议DAO只做原子增删改查操作。(增删改查四种基本操作:Create增加、Update修改、Read读取/查询、Delete删除,又简称 CURD)
DAO层也可以写成Mapper层:Mapper层直接对数据库进行操作,写入的是sql语句