网站开发域名注册,高性能 网站 建设,网站抓取诊断,google提交网站入口更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio
演示地址#xff1a;RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/
更多nbcio-boot功能请看演示系统
gitee源代码地址
后端代码#xff1a…
更多ruoyi-nbcio功能请看演示系统
gitee源代码地址
前后端代码 https://gitee.com/nbacheng/ruoyi-nbcio
演示地址RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/
更多nbcio-boot功能请看演示系统
gitee源代码地址
后端代码 https://gitee.com/nbacheng/nbcio-boot
前端代码https://gitee.com/nbacheng/nbcio-vue.git
在线演示包括H5 http://122.227.135.243:9888 Mapstruct Plus 是 Mapstruct 的增强工具在 Mapstruct 的基础上实现了自动生成 Mapper 接口的功能并强化了部分功能使 Java 类型转换更加便捷、优雅。
和 Mapstruct 一样本质上都是一个基于 JSR 269 的 Java 注释处理器因此可以由 Maven、Gradle、Ant 等来构建触发。
Mapstruct Plus 内嵌 Mapstruct和 Mapstruct 完全兼容如果之前已经使用 Mapstruct可以无缝替换依赖。
1、pom.xml里依赖的引入如下
mapstruct-plus.version1.3.5/mapstruct-plus.versionmapstruct-plus.lombok.version0.2.0/mapstruct-plus.lombok.versionmapstruct.verbosetrue/mapstruct.verboselombok.version1.18.30/lombok.versiondependencygroupIdio.github.linpeilie/groupIdartifactIdmapstruct-plus-spring-boot-starter/artifactIdversion${mapstruct-plus.version}/version/dependency2、与lombok整合
与 Mapstruct 整合 lombok 的方式一致。
plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion${maven-compiler-plugin.verison}/versionconfigurationsource${java.version}/sourcetarget${java.version}/targetencoding${project.build.sourceEncoding}/encodingannotationProcessorPathspathgroupIdcom.github.therapi/groupIdartifactIdtherapi-runtime-javadoc-scribe/artifactIdversion${therapi-javadoc.version}/version/pathpathgroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion${lombok.version}/version/pathpathgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdversion${spring-boot.version}/version/pathpathgroupIdio.github.linpeilie/groupIdartifactIdmapstruct-plus-processor/artifactIdversion${mapstruct-plus.version}/version/pathpathgroupIdorg.projectlombok/groupIdartifactIdlombok-mapstruct-binding/artifactIdversion${mapstruct-plus.lombok.version}/version/path/annotationProcessorPathscompilerArgsarg-parameters/arg/compilerArgs/configuration/plugin
3、要实现两个类之间的转换只需要在其中一个类上增加注解 AutoMapper 配置 target 属性指定目标类即可如果不想生成该转换逻辑的话可以通过注解的 reverseConvertGenerate 属性来配置。如
import com.nbcio.common.core.validate.AddGroup;
import com.nbcio.common.core.validate.EditGroup;
import com.nbcio.common.mybatis.core.domain.BaseEntity;
import com.nbcio.demo.domain.TestDemo;import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;/*** 测试单表业务对象 test_demo** author nbacheng* date 2021-07-26*/Data
EqualsAndHashCode(callSuper true)
AutoMapper(target TestDemo.class, reverseConvertGenerate false)
public class TestDemoBo extends BaseEntity {/*** 主键*/NotNull(message 主键不能为空, groups {EditGroup.class})private Long id;/*** 部门id*/NotNull(message 部门id不能为空, groups {AddGroup.class, EditGroup.class})private Long deptId;/*** 用户id*/NotNull(message 用户id不能为空, groups {AddGroup.class, EditGroup.class})private Long userId;/*** 排序号*/NotNull(message 排序号不能为空, groups {AddGroup.class, EditGroup.class})private Integer orderNum;/*** key键*/NotBlank(message key键不能为空, groups {AddGroup.class, EditGroup.class})private String testKey;/*** 值*/NotBlank(message 值不能为空, groups {AddGroup.class, EditGroup.class})private String value;}