java属性映射使用MapStruct的坑

目录

1.实体类和映射类只加注解@Data

2.将@Data换成getter和setter后build

3.那么此时我把getter和setter换成lombok的getter和setter


1.实体类和映射类只加注解@Data

 

映射关系类

 

这个时候运行

 提示源参数中不存在

注意这个文件夹

 

2.将@Data换成getter和setter后build

package com.zsp.quartz.entity;public class Qa  {private String myName;private String userAge;public Qa() {}public Qa(String myName, String userAge) {this.myName = myName;this.userAge = userAge;}public String getMyName() {return myName;}public void setMyName(String myName) {this.myName = myName;}public String getUserAge() {return userAge;}public void setUserAge(String userAge) {this.userAge = userAge;}
}
package com.zsp.quartz.entity;public class QaDto {private String nameVo;private String userAge;@Overridepublic String toString() {return "QaDto{" +"nameVo='" + nameVo + '\'' +", userAge='" + userAge + '\'' +'}';}public String getNameVo() {return nameVo;}public void setNameVo(String nameVo) {this.nameVo = nameVo;}public String getUserAge() {return userAge;}public void setUserAge(String userAge) {this.userAge = userAge;}public QaDto() {}public QaDto(String nameVo, String userAge) {this.nameVo = nameVo;this.userAge = userAge;}
}

此时文件夹生成了UserMapStructImpl

 进入之后带代码如下,重写了我映射关系类的接口,并对属性进行赋值,采用的是getter,setter方法。

package com.zsp.quartz.entity;import javax.annotation.Generated;
import org.springframework.stereotype.Component;@Generated(value = "org.mapstruct.ap.MappingProcessor",date = "2023-08-23T10:13:53+0800",comments = "version: 1.2.0.Final, compiler: javac, environment: Java 1.8.0_321 (Oracle Corporation)"
)
@Component
public class UserMapStructImpl implements UserMapStruct {@Overridepublic QaDto toDto(Qa qa) {if ( qa == null ) {return null;}QaDto qaDto = new QaDto();qaDto.setUserAge( qa.getUserAge() );qaDto.setNameVo( qa.getMyName() );return qaDto;}
}

此时我再运行

 运行成功

我把target文件夹删掉后重新运行测试代码,发现又生成了这个Impl文件。

3.那么此时我把getter和setter换成lombok的getter和setter

 将target也先删掉

 重新运行测试类

 运行报错

看一下target文件夹

并没有那个实现类Impl

暂时找不到问题出在哪里,为了不报错还是老老实实的getter和setter吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/110968.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C# Programming】编程入门:数组、操作符、控制流

目录 一、数组 1、数组的声明 1.1 一维数组声明: 1.2 多维数组声明: 2、数组的实例化和赋值 2.1 数组在声明时通过在花括号中使用以逗号分隔的数据项对数组赋值, 例如: 2.2 如果在声明后赋值,则需…

【JS案例】JS实现手风琴效果

JS案例手风琴 🌟效果展示 🌟HTML结构 🌟CSS样式 🌟实现思路 🌟具体实现 1.绑定事件 2.自定义元素属性 3.切换菜单 🌟完整JS代码 🌟写在最后 🌟效果展示 🌟HTML…

Java课题笔记~ 综合案例

3.综合案例 3.1 功能介绍 以上是我们在综合案例要实现的功能。除了对数据的增删改查功能外,还有一些复杂的功能,如 批量删除、分页查询、条件查询 等功能 批量删除 功能:每条数据前都有复选框,当我选中多条数据并点击 批量删除 按…

PHP环境配置

1.服务器 简单理解:服务器也是一台计算机,只是比平时用到的计算机在性能上更强大,开发中通常都需要将开发好的项目部署到服务器进行访问,例如:我们可以访问百度、淘宝、京东等,都是因为有服务器的存在&…

【C++】—— 异常处理

前言: 本期,我将给大家讲解的是有关 异常处理 的相关知识! 目录 (一)C语言传统的处理错误的方式 (二)C异常概念 (三)异常的使用 1、异常的抛出和捕获 1️⃣ 异常的…

vue使用命令npm install 报错 cb() never called!

一.错误说明,npm本身下载就慢,有可能是网络的问题。 二.解决方案,把npm设置成淘宝镜像后,再重新npm install npm config set registry https://registry.npm.taobao.org 三.还是不行,还会出现同样的问题,那接下来先清理一下npm缓存 npm cache…

工地扬尘监测系统 yolo

工地扬尘监测系统算法能够通过yolo网络框架模型,工地扬尘监测系统算法自动对区域的扬尘、粉尘颗粒进行实时监测识别,并及时进行预警,有效防止扬尘污染。Yolo意思是You Only Look Once,它并没有真正的去掉候选区域,而是…

Arduino程序设计(四)按键消抖+按键计数

按键消抖按键计数 前言一、按键消抖二、按键计数1、示例代码2、按键计数实验 参考资料 前言 本文主要介绍两种按键控制LED实验:第一种是采用软件消抖的方法检测按键按下的效果;第二种是根据按键按下次数,四个LED灯呈现不同的流水灯效果。 一…

异地使用PLSQL远程连接访问Oracle数据库【内网穿透】

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle,是甲骨文公司的一款关系…

Hive Cli / HiveServer2 中使用 dayofweek 函数引发的BUG!

文章目录 前言dayofweek 函数官方说明BUG 重现Spark SQL 中的使用总结 前言 使用的集群环境为: hive 3.1.2spark 3.0.2 dayofweek 函数官方说明 dayofweek(date) - Returns the day of the week for date/timestamp (1 Sunday, 2 Monday, …, 7 Saturday). …

Win11共享文件,能发现主机但无法访问,提示找不到网络路径

加密长度选择如下: 参考以下链接: Redirectinghttps://answers.microsoft.com/zh-hans/windows/forum/all/win11%E8%AE%BE%E7%BD%AE%E6%96%87%E4%BB%B6%E5%A4%B9/554343a9-d963-449a-aa59-ce1e6f7c8982?tabAllReplies#tabs

【LeetCode-中等题】189. 轮转数组

题目 题解一&#xff1a;开辟数组 取模运算寻找位置(ik)mod n 新位置 思路&#xff1a;通过&#xff0c;开辟数组 取模运算寻找新位置------位置(ik)mod n 新位置 int[] newNums new int[nums.length];for(int i 0;i<nums.length;i){newNums[(ik)%nums.length] nums[i…

网络知识点之-堆叠与集群(2-集群)

本文章收录至《网络》专栏&#xff0c;点击右上角专栏图标可访问本专栏&#xff01; 集群是一种用于集团调度指挥通信的​​​​​​移动通信系统&#xff0c;主要应用在专业移动通信领域。该系统具有的可用信道可为系统的全体用户共用&#xff0c;具有自动选择信道功能&#x…

基于MATLAB开发AUTOSAR软件应用层Code mapping专题-part 4 Data store标签页介绍

这篇文章我们继续讲解code-mapping的Data stores页,这个页的内容对应的SIMULINK中的模块是Data store memory。 我们首先在模型中创建一个Data store memory模块,如图: Data store memory模块的作用相当于一个全局变量,我们可以在模型的功能逻辑里将一个信号存进去,在另…

[oneAPI] 基于BERT预训练模型的SWAG问答任务

[oneAPI] 基于BERT预训练模型的SWAG问答任务 基于Intel DevCloud for oneAPI下的Intel Optimization for PyTorch基于BERT预训练模型的SWAG问答任务数据集下载和描述数据集构建问答选择模型训练 结果参考资料 比赛&#xff1a;https://marketing.csdn.net/p/f3e44fbfe46c465f4d…

【Hadoop】HDFS读写流程和客户端命令使用

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的…

一文速学-让神经网络不再神秘,一天速学神经网络基础-前向传播(三)

前言 思索了很久到底要不要出深度学习内容&#xff0c;毕竟在数学建模专栏里边的机器学习内容还有一大半算法没有更新&#xff0c;很多坑都没有填满&#xff0c;而且现在深度学习的文章和学习课程都十分的多&#xff0c;我考虑了很久决定还是得出神经网络系列文章&#xff0c;…

【Linux】深入理解文件缓冲区

文章目录 问题引入如何理解缓冲区缓冲区刷新策略问题解释模拟一个文件缓冲区 问题引入 首先看一段代码&#xff1a; #include <stdio.h> #include <string.h> int main() {const char *msg0"hello printf\n";const char *msg1"hello fwrite\n&quo…

Matlab(变量与文本读取)

目录 1.变量&#xff08;数据&#xff09;类型转换 1.1 字符 1.2 字符串 1.3 逻辑操作与赋值 2.Struct结构体数组 2.1函数的详细介绍&#xff1a; 2.1.1 cell2struct 2.1.1.1 垂直维度转换 2.1.1.2 水平维度转换 2.1.1.3 部分进行转换 2.1.2 rmfield 2.1.3 fieldnames(查…

HTTP 协议

目录 ​编辑一、HTTP 协议是什么 二、抓包工具的使用 三、HTTP 请求 1、认识 URL 2、认识方法 3、认识请求 “报头” HOST &#xff1a; Content-Length 和 Content-Type​编辑 User-Agent Referer Cookie 四、HTTP 响应 1、认识状态码 2、通过 form 表单构造 H…