美文网首页
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实现分页

    一、DTO转VO1、pom文件导入依赖 2、建立Mapper文件(非Mybatis的Mapper) 两个bean的...

  • mapstruct 和lombok 结合之后mapstruct生

    lombok和mapstruct配合转换bean后,mapstruct生成空的实现. 如果出现mapstruct和...

  • mabatis分页

    一、分页原理 1.需要总记录数 2.需要总页数 3.显示区间段记录,即每页显示的个数 二、Mybatis在DAO层...

  • mybatis-plus 分页

    使用mybatis-plus实现分页查询 pom.xml导入mybatis-plus插件 编写config 实现分...

  • 分页式存储管理

    要求: 在第1部分实验基础上实现进程的分页式内存分配和地址转换过程,并进一步实现请求分页式存储分配和地址转换过程。...

  • 操作系统实验2:分页式存储管理

    实验目的 实现分页式存储管理内存分配和地址转换过程。进一步实现请求分页式存储管理过程,包括内存和置换空间管理、地址...

  • flask实现分页

    原文地址数据库实现分页offset:使用offset可以实现数据库分页功能questions = Question...

  • springboot+mybatisplus+sqlserver

    1.根据官网mybatis-plus的分页插件配置,就是一个拦截器,对分页数据的拦截。可是获取分页的时候默认加载了...

  • Django中如何自定义分页模块

    阅读目录当数据库中数据有很多,我们通常会在前端页面做分页展示。 分页的数据可以在前端页面实现,也可以在后端实现分页...

  • Struts2之数据校验和国际化

    数据校验和类型转换 数据校验:Interface Action: 类型转换:实现字符串类型和其它类型相互转换。 国...

网友评论

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

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