使用 MyBatis-Plus 的分页插件来简化操作

  • Post author:
  • Post category:其他


使用 MyBatis-Plus 的分页插件来简化操作。需要在配置文件中添加分页插件的配置,然后在 Mapper 接口中使用 Page 对象作为参数,就可以实现分页查询。具体的步骤如下:

  • 在 application.yml 文件中添加分页插件的配置,如下:
mybatis-plus:
  configuration:
    map-underscore-to-camel-case: true # 开启驼峰命名
  global-config:
    db-config:
      id-type: auto # 主键策略
  mapper-locations: classpath:mapper/*.xml # mapper 文件位置
  type-aliases-package: com.example.entity # 实体类包名
  plugins:
    - com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor # 分页插件
  • 在 AuditInfoMapper 接口中使用 Page 对象作为参数,如下:
public interface AuditInfoMapper extends BaseMapper<AuditInfo> {
  // 分页查询审核状态信息
  IPage<AuditInfo> selectPage(Page<AuditInfo> page, @Param("type") String type, @Param("id") Integer id);
}
  • 在 AuditInfoMapper.xml 文件中编写对应的 SQL 语句,如下:
<mapper namespace="com.example.mapper.AuditInfoMapper">
  <!-- 分页查询审核状态信息 -->
  <select id="selectPage" resultType="com.example.entity.AuditInfo">
    SELECT * FROM audit_info
    WHERE type = #{type} AND id = #{id}
  </select>
</mapper>
  • 在 AuditInfoService 接口中定义分页查询审核状态信息的方法,如下:
public interface AuditInfoService extends IService<AuditInfo> {
  // 分页查询审核状态信息
  IPage<AuditInfo> selectPage(Page<AuditInfo> page, String type, Integer id);
}
  • 在 AuditInfoServiceImpl 类中实现分页查询审核状态信息的方法,如下:
@Service
public class AuditInfoServiceImpl extends ServiceImpl<AuditInfoMapper, AuditInfo> implements AuditInfoService {
  @Override
  public IPage<AuditInfo> selectPage(Page<AuditInfo> page, String type, Integer id) {
    return baseMapper.selectPage(page, type, id);
  }
}
  • 在 Controller 层中调用 AuditInfoService 的分页查询审核状态信息的方法,如下:
@RestController
@RequestMapping("/audit")
public class AuditController {
  @Autowired
  private AuditInfoService auditInfoService;

  // 分页查询审核状态信息
  @GetMapping("/page")
  public IPage<AuditInfo> selectPage(@RequestParam("type") String type, @RequestParam("id") Integer id,
                                     @RequestParam(value = "current", defaultValue = "1") Integer current,
                                     @RequestParam(value = "size", defaultValue = "10") Integer size) {
    Page<AuditInfo> page = new Page<>(current, size);
    return auditInfoService.selectPage(page, type, id);
  }
}



版权声明:本文为weixin_57604284原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。