MapStruct实现list实体转换

更新时间:2023-06-03 17:37:38 阅读: 评论:0

MapStruct实现list实体转换
1、先引⼊mapstruct的依赖如下
<!--dto转换-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-jdk8</artifactId>
<version>1.2.0.Final</version>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.2.0.Final</version>
</dependency>
2、我们来了解⼀下mapstruct的⼏个常⽤的注解@Mpper注解 的componentModel属性,这个属性⽀持四个值
default: 这是默认的情况,mapstruct 不使⽤任何组件类型, 可以通过Mapper(Class)⽅式获取⾃动⽣成的实例对象。
cdi: the generated mapper is an application-scoped CDI bean and can be retrieved via @Inject
spring: ⽣成的实现类上⾯会⾃动添加⼀个@Component注解,可以通过Spring的 @Autowired⽅式进⾏注⼊
jsr330: ⽣成的实现类上会添加@javax.inject.Named 和@Singleton注解,可以通过 @Inject注解获取
3、下⾯我们写⼀个转换的demo毛线衣
先创建两个实体类UrPO,Ur
package com.spring.demo.ity;
import lombok.Data;
import java.util.Date;
@Data
public class UrPO {
private String id;
private String urNo;adults
private String urName;
private String usrPwd;
private String status;
private String loginFlg;
private Date createTm;
private Date updateTm;
}
package com.spring.demo.del;
import lombok.Data;
import java.util.Date;
/**
* @author: xizhangyan
* @date: 2021/3/5
* @desc: ⽤户信息
**/
@Data
public class Ur {
/**
* ID
*/
decreaprivate String id;
/**
* ⽤户号
*/
private String urNo;
/**
幸运儿英文
* ⽤户名称
*/
private String urName;
/**
* ⽤户密码
opinionated
*/
private String usrPwd;
/**
* 是否有效
*/
private String status;
/
**
* 是否登录
*/
private String loginFlg;
/**
* 创建时间
*/
private String createTm;
/**
* 更新时间
*/
private Date updateTm;
}
下⾯我们创建他的转换类UrCovertBasi接⼝,这⾥说⼀下我使⽤的是default的运⾏时会⾃动⽣成对应的impl,你也可以使⽤(componentModel = "spring")
当使⽤这个的时候调⽤转换类需要使⽤注解的形式@Autowired调⽤,在写List实体类转换时,⼀定要有单个的对象转换⽅法
//@Mapper(componentModel = "spring")
@Mapper
public interface UrCovertBasic {
UrCovertBasic INSTANCE = Mapper(UrCovertBasic.class);
/**you better run
纽伦
* urpo 转换成Ur
modesty
* @param urPO
* @return
*/
@Mappings({
@Mapping(target = "createTm",dateFormat = "yyyy-MM-dd")
})
Ur toCovertModel(UrPO urPO);
/**
* urpoList 转换成UrList
* @param urPOS
* @return
上衣的英文
*/
List<Ur> toCovertModels(List<UrPO> urPOS);
}
下⾯是使⽤的地⽅assignable
@Override
public Ur getUrById(String id) {
UrPO urPo = urPOMapper.lectByPrimaryKey(id);
return CovertModel(urPo);
}
over

本文发布于:2023-06-03 17:37:38,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/132751.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换   注解   实现   创建   默认   组件   登录   情况
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图