lambda调用方式无法正确映射字段
Author: zhoujialeCreated Apr 20, 2025Updated Apr 22, 2025
使用版本 java 17 springboot 3.2.3
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.mybatis.dynamic-sql</groupId>
<artifactId>mybatis-dynamic-sql</artifactId>
<version>1.5.0</version>
</dependency>执行下面两种方式的代码
//lambda
Page<SystemUserVO> page = PageHelper.startPage(systemUserQuery.getPageNum(), systemUserQuery.getPageSize())
.doSelectPage(() -> systemUserDao.querySystemUserVOList(systemUserQuery));
//非lambda
Page<SystemUserVO> page = PageHelper.startPage(systemUserQuery.getPageNum(), systemUserQuery.getPageSize());
List<SystemUserVO> systemUserVOS = systemUserDao.querySystemUserVOList(systemUserQuery);dao层方法已经确认将sql中查询的对象转换成java对象返回了,但是使用lambda方式,会将返回的对象转成map而且会使用下划线命名。但是使用非lambda方式就没有这个问题
Source: pagehelper-org/Mybatis-PageHelper