- 2024-11-08使用Roslyn的源生成器生成DTO
前言源生成器的好处很多,通过在编译时生成代码,可以减少运行时的反射和动态代码生成,从而提高应用程序的性能,有时候需要对程序AOT以及裁剪编译的dll也是需要用SG来处理的。我们开发程序应该都绕不过Mapper对象映射,用的比较多的库可能就是AutoMapper,Maspter之内的三方库吧;这
- 2024-11-08VO/DTO/DO/PO通俗的解释加上自己的理解
通俗的解释:VO:(ViewObject):视图对象,用于展示层。DTO(DataTransferObject):数据传输对象DO(DomainObject):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。PO(PersistentObject):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系。以下为自己的
- 2024-10-30实现注解校验Dto字段是否为空
一、背景我们用json对象作为接收参数的包装器,最后要转化为dto进行业务操作,操作之前要做非空校验,我们可以实现2个注解来实现这个通用的操作。@NotNullField@CheckNull二、思路1.实现@NotNullField注解,注解标记在dto字段名上面@Target(ElementType.FIELD)//目标为字段@Rete
- 2024-10-16The instance of entity type 'xxx' cannot be tracked because another instance with the same
发生的原因,在CheckProductionCode()方法中根据主键id查询对象时没有使用AsNoTracking(),示例:_db.Productions.AsNoTracking()那么EF会把查询出的对象缓存并跟踪对象状态,之后再Update的时候就会查询现有已跟踪的对象,发现已经存在一个相同主键的对象,所以报错。///<summary>///
- 2024-09-24DTO和POJO的区别
在Java企业应用开发中,POJO(PlainOldJavaObject)和DTO(DataTransferObject)是两种常用的数据对象,它们在不同的上下文中扮演不同的角色:POJO(PlainOldJavaObject):定义:POJO是一个简单的Java对象,通常用于表示数据模型,如数据库中的表。它通常包含属性、getter和setter方法,以及可能
- 2024-09-23【解决方案】Java 互联网项目中常见的 Redis 缓存应用场景
一、常见key-value首先介绍的是项目开发中常见的一些String类型的key-value结构场景,如:使用jsonStr结构存储的用户登录信息,包括:手机号、token、唯一uuid、昵称等;jsonStr结构某个热门商品的信息,包括:商品名称、商品唯一id、所属商家、价格等;String类型的、
- 2024-09-23【解决方案】Java 互联网项目中常见的 Redis 缓存应用场景
目录前言一、常见key-value二、时效性强三、计数器相关四、高实时性五、排行榜系列六、文章小结前言在笔者3年的Java一线开发经历中,尤其是一些移动端、用户量大的互联网项目,经常会使用到Redis作为缓存中间件的基本工具来解决一些特定的问题。下面是笔者总结梳理的一些常
- 2024-09-20【Java DTO、VO类型转换工具类,对象与对象之间赋值】全部一行代码搞定!爽
对象转换工具一、modelmapper介绍二、安装(一)引入依赖(二)添加工具类三、使用示例(一)单个对象转换(一)简单转换(二)转换时对转换后的对象处理(二)转换时对转换后的对象、源对象处理(一)批量转换(一)简单转换(二)转换时对转换后的对象处理(二)转换时对转换后的对象、源对象处理一、m
- 2024-09-10高级java每日一道面试题-2024年9月06日-基础篇-Java中的PO、VO、BO、DO、DAO、DTO、POJO是什么意思?
如果有遗漏,评论区告诉我进行补充面试官:Java中的PO、VO、BO、DO、DAO、DTO、POJO是什么意思?我回答:PO持久化对象(PersistentObject)PO是持久化对象,用于表示数据库中的实体或表的映射通常与数据库表的结构和字段对应PO的属性对应数据库表的字段,可以进行持久化操作(新
- 2024-09-09文件导出:Hutool 导出 Excel文件
使用Hutool实现Excel数据导出。导出Excel文件为两个Sheet页。1.设备基本信息:包括设备编号、设备名称、设备位置等。2.设备维护记录:包括设备维护日期、维护人员、维护内容等。 1.Hutool简介Hutool是一个功能丰富的Java工具库,其中包含用于Excel文件处理的
- 2024-08-28给自己复盘的tjxt笔记day9
优惠券管理开发流程需求分析,接口统计,数据库设计,创建分支,创建新模块(依赖,配置,启动类),生成代码,引入枚举状态优惠券管理增删改查的业务代码,没有新的知识点新增优惠券@Override@TransactionalpublicvoidsaveCoupon(CouponFormDTOdto){//1.保存优惠券
- 2024-07-29VO、DTO、Entity:Java 应用中的数据对象详解
在Java应用程序中,特别是在基于微服务架构的应用中,数据对象(DataObjects)扮演着非常重要的角色。它们不仅有助于组织和传输数据,还能确保应用程序各部分之间的解耦。本文将深入探讨VO(ViewObject)、DTO(DataTransferObject)和Entity之间的区别,并讨论它们在实际项目中的应
- 2024-07-27【项目实战】解码软件工程:一文读懂DO/PO/BO/AO/DTO/DAO/POJO/VO的奥秘
文章目录一文读懂DO/PO/BO/AO/DTO/DAO/POJO/VO的奥秘不同领域作用POJO(PlainOldJavaObject)VO(ValueObject)VO(ViewObject)的特点:实体类(Entity)数据传输对象(DTO)领域对象(DomainObject)持久化对象(PersistentObject)业务对象(BusinessObject)应用对象(ApplicationObject)
- 2024-07-25EasyExcel 读取xls 监听行数据问题
需求:导入xls文件需要判断是否空值,时间格式是否问题监听器classExcelListenerextendsAnalysisEventListener<RevWaterUserDocAndUserPayImportExl>{publicExcelListener(List<RevWaterUserDocAndUserPayImportExl>result){this.list=result;
- 2024-07-15DO、DTO、BO、AO、VO、POJO定义规范
DO、DTO、BO、AO、VO、POJO定义分层领域模型规约:DO(DataObject):与数据库表结构一一对应,通过DAO层向上传输数据源对象DTO(DataTransferObject):数据传输对象,Service或Manager向外传输的对象BO(BusinessObject):业务对象。由Service层输出的封装业务逻辑的对象AO(Applicatio
- 2024-07-09一个项目代码讲清楚DO/PO/BO/AO/E/DTO/DAO/ POJO/VO
在现代软件架构中,不同类型的类扮演着不同的角色,共同构成了一个清晰、模块化和可维护的系统。以下是对实体类(Entity)、数据传输对象(DTO)、领域对象(DomainObject)、持久化对象(PersistentObject)、业务对象(BusinessObject)、应用对象(ApplicationObject)、数据访问对象(DataAcces
- 2024-07-06SpringBoot集成Swagger+Knife4j
在pom.xml中引入依赖<!--knife4j接口文档--><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><versi
- 2024-07-03Yi.Admin+Blazor上手教程系列2
基础设施层,存放各种通用方法、ORM等领域共享层,存放枚举、常量、事件参数、对应用层的dto领域层,存放业务的内部实现(领域服务)、领域事件。对外也就是对应用层可以暴露实体、对应用层的dto应用抽象层,存放应用层抽象、系统对外的dto应用层,存放对业务的组装(领域服务),对外暴露的dto,主
- 2024-07-02MP实现分页条件查询
publicclassDishController{@AutowiredprivateDishServicedishService;@GetMapping("/page")publicResult<PageResult>page(DishPageQueryDTOdto){PageResultpage=dishService.page(dto);returnResu
- 2024-07-01EasyExcel 自定义表头颜色
publicvoidexport(ObjectDTOdto,HttpServletResponseresponse){try{if(ObjectUtils.isEmpty(dto.getObjNumberList())){thrownewBusinessException("编号不允许为空");}ListRespresult=o
- 2024-06-15PO/DO/VO/DTO/BO/POJO概念与区别
一、PO/DO/VO/DTO/BO/POJO的介绍PO(PersistentObject)=DO(DataObject)持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。通过DAO层向上传输数据源对象。VO(ViewO
- 2024-06-13一文读懂DTO、BO、AO、PO、DO、DAO等含义与使用方法
在Java开发中,这些术语代表了不同的对象设计模式和架构层面的概念,用于组织和管理代码。下面是它们的详细解释及示例:1. DAO (Data Access Object)含义:DAO是一种设计模式,用于封装对数据源(通常是数据库)的访问。它将低级别的数据访问逻辑(如SQL查询和事务管理)从业务逻辑中分离
- 2024-06-11巧妙使用mapstruct来解决数据库entiy到实体dto的映射关系
1.引入mapstruct<dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct</artifactId></dependency><dependency><groupId>org.mapstruct</groupId><artifactId>mapstruct-p
- 2024-06-08Java基于系统api监控文件新增事件
得益于jvm对系统api的封装,本文的方法实际是对jvm封装后的方法的再次封装。在linux上,对于的api为inotify,在windows上,对于的api则为ReadDirectoryChangesW。本文应用的jdk版本为8。业务字段:@DatapublicclassFileMessageDto{privateLocalDateTimecreateTime;privat
- 2024-06-05springboot学习日记(九)
忙了一段时间论文和杂七杂八的学生事务,回来学程序了1.什么是数据传输对象(DTO)?数据传输对象(DTO)是一种设计模式,用于封装和传输应用程序不同层之间的数据。DTO是轻量级对象,通常只包含必要的字段,不包含任何业务逻辑。DTO作用于应用程序中不同的业务之间的数据传输,例如在前端和后端之