1. 新建UserPlusMapper.java
/**
* 用户加强版Mapper
*/
@Repository
public interface UserPlusMapper extends BaseMapper<UserDto> {
/**
* 直接写SQL即可,即使关联查询的结果也会映射到DTO中
*/
String querySql = "SELECT " +
" u.username, u.name " +
" FROM " +
" user AS u";
String wrapperSql = "SELECT * FROM ( " + querySql + " ) AS q ${ew.customSqlSegment}";
@Select(wrapperSql)
Page<UserDto> page(IPage page, @Param("ew") Wrapper queryWrapper);
}
2. 测试验证
/**
* @author shenjian
* @since 2023/10/12
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = CloudApplication.class)
public class UserTest {
@Autowired
private UserPlusMapper userPlusMapper;
/**
* 分页查询
*/
@Test
public void testPage() {
IPage<UserDto> page = new Page<>(1, 10);
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", "sfxs");
Page<UserDto> resultPage = userPlusMapper.page(page, queryWrapper);
Assert.assertNotNull(resultPage.getRecords());
Assert.assertEquals(1, resultPage.getTotal());
}
}
欢迎关注公众号算法小生