java架构之项目结构(entity / DTO / VO)
定义类的讲究
- ejb
Enterprise JavaBean(EJB)
,企业javaBean
。是java的核心代码,分别是会话Bean(Session Bean
)、实体Bean(Entity Bean
)、和消息驱动Bean(MessageDriven Bean
)。
- javaBean
可重用组件,类必须是具体的公开的,具有无参构造器。
- pojo
Plain Ordinary Java Object
,简单的Java对象,普通的javaBean。除了getter、setter,不能有其他业务方法。有时可以作为VO
(value-object)或DTO
(Data Transfer Object)来使用。
- entity
持久化,与数据库对应;
实体bean,一般是用于ORM
对象关系映射,一个实体映射成一张表,一般无业务逻辑代码。
负责将数据库中的表记录映射为内存中的Entity
对象,事实上,创建一个EntityBean对象相当于创建一条记录,删除一个EntityBean对象会同时从数据库中删除对应记录,修改一个Entity Bean时,容器会自动将Entity Bean的状态和数据库同步。
- DTO
系统、服务之间交互传输用;
数据传输对象(Data Transfer Object
)
dto
是做表示层(展示给用户)的,而实体是数据对象(表)。表示层dto的是由多个实体构成,或一个实体的一个部分,或多个实体的各个部分的结合体?如果你认为dto没有必要,难道你做数据库的时候,表与页面的展示是一摸一样的吗?不太现实吧。
dto是面向对象的,实体是面向关系数据库。
- VO(和DTO类似)
前台(APP\WAP\PC)展示用;
作用说明:
1、DTO可以增加或者减少entity的字段,来灵活实现信息传递;
2、VO可以仅向前端传输,页面需展示字段,如pageList等。
关系示例
多模块或单模块的项目而言,清晰的项目结构很重要。
如下,一个项目可以分为许多模块,如common模块和其他模块。
project
|-- common
|-- module1
|-- ...
其中
|-- common
|--dao
|--impl
|--
*DAO.java
|--dto
|--
*DTO.java
|--domain
|--entity
|--
*Entity.java
可以在resources
中单独写mapper.xml
|-- module1
|--model
|--
*VO.java
|--controller
|--service
|--interceptor
|--...
说明:
- [controller]
controller
是从用户接受和发送数据的地方。因此controller
中返回结果中的数据类型为*VO
类型。 - [dao] 那么,
mybatis
中mapper
中写的sql
语句,如select
等的返回结果是什么呢?
可以是entity
,可以是DTO
。从一张表中查询部分或多表联合查询,就可以返回DTO
。
整个*mapper.xml
是*DAO
对应,其中每个sql语句的返回类型可以是int
,List
,entity
,DTO
等。
@RequestMapping(path = "/list", method = RequestMethod.POST)
public Res<**VO> yourmethoed(){
//<*DTO> = service()...
//DTO转VO,return VO
}
java架构之项目结构(entity / DTO / VO)的更多相关文章
- Java Bean、POJO、 Entity、 VO 、PO、DAO
Java Bean.POJO. Entity. VO , 其实都是java 对象,只不过用于不同场合罢了. Java Bean: 就是一个普通的Java 对象, 只不过是加了一些约束条件. 声 ...
- 当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出?
当实体类中entity/DTO/VO等类中,有枚举值,应该怎么输出? 问题: orderStatus 和 payStatus都是枚举类,并且枚举的个数达地10来个,我们不可能在模板页面(jsp/ftl ...
- (1)-Android学习笔记之:初识Android系统架构和项目结构
Android系统架构 Android程序结构 创建一个Android项目,为初学便于理解,将程序项目结构切换为Project模式,项目结构如下 .gradle和.idea:这两个目录下放的都是And ...
- Java开发学习心得(三):项目结构
[TOC] 3 项目结构 经过前面一系列学习,差不多对Java的开发过程有了一定的了解,为了能保持一个良好的项目结构,考虑到接下来要进行开发,还需要学习一下Java的项目结构 下面以两个项目结构为参照 ...
- Java中PO、DO、DTO、 VO、 BO、POJO 、DAO、TO的概念
1. PO(persistant object) 持久对象 在 O/R 映射的时候出现的概念,如果没有 O/R 映射,没有这个概念存在了. 通常对应数据模型 ( 数据库 ), 本身还有部分业务逻辑的 ...
- Java Web项目结构
Java Web项目结构(一般) 1.Java src 2.JRE System Library 3.Java EE 6 Libraries 4.Web App Libraries 5.WebRoot ...
- 15套java架构师、集群、高可用、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩展. ...
- java架构师负载均衡、高并发、nginx优化、tomcat集群、异步性能优化、Dubbo分布式、Redis持久化、ActiveMQ中间件、Netty互联网、spring大型分布式项目实战视频教程百度网盘
15套Java架构师详情 * { font-family: "Microsoft YaHei" !important } h1 { background-color: #006; ...
- 15套java架构师大型分布式综合项目实战、千万高并发-视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...
随机推荐
- import 与export详解
ES6 1.export default 其他模块加载该模块时,import命令可以为该匿名函数指定任意名字. 如: import Vue from 'vue' vue里面的第三方模块都是用了这个 使 ...
- R语言- 基本统计分析
目的: 1.描述性统计分析 2.频数表和;列连表 3.相关系数和协方差 4.t检验 5.非参数统计 在上一节中使用了图形来探索数据,下一步就是给出具体的数据来描述每个变量的分布和关系 1.描述性统计分 ...
- PB导出数据excel格式dw2xls
PB导出数据excel格式dw2xls 使用DW2XLS控件 语法 uf_save_dw_as_excel ( dw, filename ) 參数 dw A reference to the data ...
- ping 本地端口
C:\Users\Administrator>netstat -ano | findstr 8001
- 【例题 6-7 UVA - 122 】Trees on the level
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 二叉树的话,直接用数组存就好了. 写个bfs记录一下答案. [代码] #include <bits/stdc++.h> ...
- ArcGlobe三维开发之十九——GlobeControl与MapControl的二三维联动
实现思路:2D->3D,将当前MapControl的可视范围设置为GlobeControl中Extent属性的值:3D--->2D.获取当前GlobeControl的target和obse ...
- Java反射学习总结二(用反射调用对象的私有属性和方法)
大家都知道正常的调用是不可以访问对象的private修饰的属性和方法的,这也是Java的封装性原则. 但是有没有方法可以强制去访问对象的private修饰的属性和方法呢?那就是用反射!(这个可能在面试 ...
- SIMPLE QUERY几个原则
1.减少查询对象的数据页(db block)数量. 尽量避免使用 * 用准确的列明减少不必要的一些资源浪费. 2.查看是否使用了index. 索引是SQL性能调优的重要手段,下面几个是有索引不能使 ...
- js进阶ajax基本用法(创建对象,连接服务器,发送请求,获取服务器传过来的数据)
js进阶ajax基本用法(创建对象,连接服务器,发送请求,获取服务器传过来的数据) 一.总结 1.ajax的浏览器的window对象的XMLHtmlRequest对象的两个重要方法:open(),se ...
- Solving the Problem of Overfitting
The Problem of Overfitting Cost Function Regularized Linear Regression Note: [8:43 - It is said that ...