美文网首页
mapstruct数据转换和Mabatis plus实现分页

mapstruct数据转换和Mabatis plus实现分页

作者: W_神经 | 来源:发表于2021-04-23 09:55 被阅读0次

    一、DTO转VO
    1、pom文件导入依赖

    
    <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、建立Mapper文件(非Mybatis的Mapper)

    @Mapper(componentModel = "spring")
    public interface ScreenConvert {
        @Mappings({
                @Mapping(expression = "java(com.test.utils.StringUtils.appendToRatio(screenDto.getRatioWidth(), screenDto.getRatioHeight()))", target = "ratio")
        })
        ScreenVO convertToScreenVo(ScreenDto screenDto);
        List<ScreenVO>  convertToScreenVo(ScreenDto screenDtos);
    }
    

    两个bean的属性名如果一致,就不需要标注,如果不一样需要做映射 ,如上述代码中的@Mappings中指明的映射,将分辨率对应的宽和高拼接一起。如果是字段对应的话可以直接用source 和target 即可,如果是需要经过转换,则需要用expression来指明方法, java(方法名路径)

    3、使用
    在Service中引入即可

    @Autowired
    private ScreenConvert screenConvert
    

    到此,数据转换工具就完成了,build的时候,插件会自动生成转换接口的实现类,并且路径为转换接口的包路径。

    二、Mybaties plus实现分页

    配置参考官网:https://mp.baomidou.com/config/#mapperlocations

    service方法

     public IPage<ScreenVO> getScreenList(ScreenFilterAO screenFilterAO) {
            //获取page对象
            Page<ScreenDto> page = new Page<>(screenFilterAO.getPageNum(), screenFilterAO.getPageSize());
            //将page对象传到mapper文件,对应的xml文件不需要管page对象了
            IPage<ScreenDto> screenDtoIPage = screenMapper.getScreenList(page, screenFilterAO);
            //将DTO转成VO
            IPage<ScreenVO> screenVoIpage = screenDtoIPage.convert(screenDto -> screenConver.convertToScreenVo(screenDto));
            return screenVoIpage;
        }
    

    Mapper方法

    IPage<ScreenDto> getScreenList(Page page,  ScreenFilterAO screenFilterAO);
    

    相关文章

      网友评论

          本文标题:mapstruct数据转换和Mabatis plus实现分页

          本文链接:https://www.haomeiwen.com/subject/hwzqrltx.html