SpringBoot中Dozer的使用小结

什么是Dozer? Dozer是一种Java Bean到Java Bean的映射器,递归地将数据从一个对象复制到另一个对象,它是一个强大的,通用的,灵活的,可重用的和可配置的开源映射框架。
说白点就是dozer是一个能把实体和实体之间进行转换的工具.只要建立好映射关系.就像是ORM的数据库和实体映射一样。
【SpringBoot中Dozer的使用小结】dozer是用来两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的set和get方法了。
下面我们来学习一下dozer的使用
1.添加依赖

net.sf.dozerdozer5.5.1

2.创建配置类
package com.youyou.util.utils; import org.dozer.DozerBeanMapper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Arrays; import java.util.List; /** * 各个模块的dozer配置文件 */@Configurationpublic class DozerConfig {@Bean(name = "org.dozer.Mapper")public DozerBeanMapper dozer() {//这里是配置文件的路径List mappingFiles = Arrays.asList("dozer/dozer-mapping.xml"); DozerBeanMapper dozerBean = new DozerBeanMapper(); dozerBean.setMappingFiles(mappingFiles); return dozerBean; }}

3.创建两个POJO 创建DO
package com.youyou.address.entity; import com.baomidou.mybatisplus.annotation.TableName; import com.youyou.base.BaseEntity; import lombok.Data; /** * 数据库实体,联系人 */@Data@TableName("TS_Contacter")public class ContacterDO extends BaseEntity {/*** 姓名*/private String name; * 性别(0,女;1,男)private String sex; * 年龄private Integer age ; * 电话privateString phone; * 地址private String location; * 删除(0,未删除;1,删除)private String dflag ; }

DO的父类
package com.youyou.base; import lombok.Data; import java.util.Date; /** * 所有实体类的父类 * * @author 刘朋 *
date 2018-11-02 */@Datapublic abstract class BaseEntity {/*** 主键*/private String id; * 创建时间private Date createTime; }

创建VO
package com.youyou.address.vo; import lombok.Data; /** * 联系人vo * * @author 刘朋 *
date 2018-11-05 */@Datapublic class ContacterVO {/*** 姓名*/private String name; * 性别(0,女;1,男)private String sex; * 年龄private Integer age ; * 电话privateString phone; * 地址private String location; }

4.创建XML文件
com.youyou.address.entity.ContacterDOcom.youyou.address.vo.ContacterVO

5.使用
package com.youyou.address.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.youyou.address.entity.ContacterDO; import com.youyou.address.service.ContacterService; import com.youyou.address.vo.ContacterVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.dozer.DozerBeanMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @Api(description = "联系人接口")@RestController@RequestMapping(value = "https://www.it610.com/contacter")public class ContacterController {@Autowiredprivate ContacterService service; private DozerBeanMapper dozerBeanMapper ; @ApiOperation(value = "https://www.it610.com/article/新增")@GetMapping("/add")public ContacterVO add(ContacterVO contacterVO) {System.out.println("添加一个联系人"); //使用dozer进行转换ContacterDO contacterDO = dozerBeanMapper.map(contacterVO, ContacterDO.class); service.insertAutoKey(contacterDO); return contacterVO; }}

搞定!
到此这篇关于SpringBoot中Dozer的使用的文章就介绍到这了,更多相关SpringBoot Dozer使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读