目录

基本概念

相关代码


基本概念

dto指:data transfer object,数据传输对象。

以本人目前的Java web水平,对此dto有如下的认识。

数据库列映射为java类的时候,如果某一个表和另外一个表是一对多的关系。

在dataobject层可以使用这个注解,防止此成员在数据库中没有对应的列。

如下所示:

这种方式不太好,因为这个dataObject就是为了给数据库映射用的,所以就有了dto的概念

其中OrderDTO内容如下:

通过这样的方式可以让程序结构更加的清晰;

下面是关于订单的主键

这里有个很骚的操作用当前时间戳+一个随机数

这个随机数也是有讲解的,比如只能10000000000-99999999999

这样他的位数就能够统一了:

相关代码

主键相关源码如下:

package selldemo.demo.utils;import java.util.Random;public class KeyUtil {//生成唯一的主键//格式:时间+随机数public static String genUniqueKey(){Random random = new Random();Integer number = random.nextInt(900000) + 100000;return System.currentTimeMillis() + String.valueOf(number);}
}

OrderDTO.java

package selldemo.demo.dto;import lombok.Data;
import selldemo.demo.dataobject.OrderDetail;
import selldemo.demo.enums.OrderStatusEnum;
import selldemo.demo.enums.PayStatusEnum;import java.math.BigDecimal;
import java.util.Date;
import java.util.List;@Data
public class OrderDTO {private String orderId;private String buyerName;private String buyerPhone;private String buyerAddress;private String buyerOpenid;private BigDecimal orderAmount;//订单状态 默认为下单private Integer orderStatus = OrderStatusEnum.NEW.getCode();//支付状态 默认为0未支付private Integer payStatus = PayStatusEnum.WAIT.getCode();private Date createTime;private Date updateTime;List<OrderDetail> orderDetailList;
}

Spring Boot笔记-对dto数据传输对象及物联网公司主创建主键的认识相关推荐

  1. 复杂类型java对象 — dto数据传输对象

    dto(Data Transfer Object)是一个特殊的java bean,名为:数据传输对象.dto对象是对原始对象的扩展,用于数据的保存和传递. 在项目开发时,一般会涉及到多个对象数据的保存 ...

  2. spring boot上传阿里云对象存储OSS快速上手(一、控制台简介)

    代码实现请看下一篇: spring boot上传阿里云对象存储OSS快速上手(二.代码实现,复制粘贴可用) 简介: 1.阿里云对象存储OSS其实就是一个文件存储的服务 2.在我们的开发过程中会遇到类似 ...

  3. html+spring boot简单的ajax数据传输实现

    本篇讲解在前后端不分离情况下的html+spring boot的项目数据传输实现 首先,后台我写了三个接口 package com.demo.ajax.controller;import com.de ...

  4. Spring Boot + Gzip 压缩超大 JSON 对象,传输大小减少一半

    1. 业务背景 是这样的,业务背景是公司的内部系统有一个广告保存接口,需要 ADX 那边将投放的广告数据进行保存供后续使用.广告数据大概长这样: {"adName":"& ...

  5. Spring Boot笔记

    1.什么是SpringBoot 1.简介 就是一个javaweb的开发框架 以前Spring的配置太多,太麻烦,为了提高开发效率,于是开始提倡"约定大于配置",进而衍生出一些一站式 ...

  6. Spring Boot笔记总结

    总结一下自己最近学的springboot笔记 yaml语法 #对象 student:name: juziage: 666 #行内写法 kid: {name: jujuju,age: 888}#数组 c ...

  7. DTO数据传输对象详解

    文章目录 一.DTO是什么? 二.DTO解决的问题 三.代码演示 一.DTO是什么? DTO (数据传输对象) 数据传输对象(DTO),是一种设计模式之间传输数据的软件应用系统.数据传输目标往往是数据 ...

  8. 为什么需要DTO(数据传输对象)

    DTO即数据传输对象.之前不明白有些框架中为什么要专门定义DTO来绑定表现层中的数据,为什么不能直接用实体模型呢,有了DTO同时还要维护DTO与Model之间的映射关系,多麻烦. 然后看了这篇文章中的 ...

  9. Spring Boot笔记-普通异常错误截取及构造错误页面

    在web开发过程中,数据问题会有异常,会抛到页面上,这样造成用户体验差. 目前这个笔记是使用Spring Boot获取异常,并构造新的界面 程序运行截图如下: 另外一个: 这样的话就达到了页面友好的效 ...

最新文章

  1. 经典网络AlexNet介绍
  2. MySQL安装失败出现could not start the service mysql error:0 错误提示
  3. python多线程处理文件_python多线程分块读取文件
  4. Linux下载_Linux系统各种版本ISO镜像下载(redhat,centos,oracle,ubuntu,openSUSE)
  5. mysql起止时间怎么写_【Mysql 学习】日期函数函数
  6. Finally 与 return
  7. 自动点击器如何设置最快_微视APP如何设置自动播放视频-微视APP设置自动播放视频的方法...
  8. 云知声今年要量产三款芯片,还公布了多模态AI芯片规划
  9. ES6学习笔记二(解构赋值、语法糖)
  10. [CM311-1A]-全网最全 Android 软件管理
  11. Ubuntu18.0.4深度学习环境搭建及相应软件安装(Update)
  12. Android GIF图片显示
  13. c#阿里CSB接口对接--
  14. 2015年8月5日------------赵鑫
  15. WordPress主题的最佳市场:TemplateMonster还是ThemeForest?
  16. JS实现元素拖拽,简单悬浮框实现
  17. 2011深信服校园招聘笔试面试
  18. java垃圾处理机制分析
  19. python怎么换背景_python – 我如何在Mac OS X中编程改变背景?
  20. 线性判别分析LDA(linear discriminant analysis)与二次判别分析QDA(quadratic discriminant analysis)

热门文章

  1. 实现textarea限制输入字数
  2. WPF 自定义 MessageBox (相对完善版 v1.0.0.6)
  3. 源代码加密-防泄密解决方案-SDC沙盒
  4. HTML P不能包含块级元素(包括自身)
  5. web developer tips (78):使用文档大纲导航
  6. 互联网公司各种“花式”裁员,套路特别深,作为程序员你知道吗?
  7. 黑客是互联网的高危职业,选择不慎,很可能如“他们”一样入门到入狱!
  8. Ubuntu根目录下各文件的功能介绍
  9. 克制懒惰之飞鸽传书版
  10. 评论:互联网的冬天还有多远?