MyBatis + MyBatisPlus 中遇到的一些坑

本文讲述了在使用MyBatis和MyBatisPlus时遇到的两个常见问题:分页不生效和一对多关联查询时查询总条数错误。分页问题可能是未开启分页插件导致;而一对多查询错误由于MyBatisPlus的limit实现,建议将关联查询分开执行,避免影响分页效果。作为解决方案,提供了细致的排查和改进方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

叨叨

MyBatis是很常用的持久层框架,MyBatisPlus是一个 MyBatis 的增强工具.在实际工作中这两者就像是咖啡伴侣一样如影随形.
但是总会遇到这样或那样的问题,可能是一个失误,也可能是踩了个坑

坑一:MyBatisPlus分页不生效

自己没开启分页插件,是谁更坑呢?

 @Configuration
 public class WebMvcConfig extends WebMvcConfigurationSupport {
   @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor();
    }
 }

坑二:一对多关联查询查询总条数错误

这是个真坑,好多人踩过.之所以会错误,是因为MyBatisPlus的分页是在SQL语句最后添加limit实现的,这就导致一对多关联查询出来的多条数据被记入了总条数参加了分页.
想要解决,简单粗暴的就是把关联查询分开,先查"一"的相关信息,然后遍历再查"多"的相关信息.
作为一个认(闲)真(的)负(蛋)责(疼)的程序猿,肯定得用一些看上去高(没)大(卵)上(用)的方式.

实体

@Data
@ApiModel(value="产品对象")
public class EcProduct{

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "产品名称")
    private String name;
    
    @ApiModelProperty(value = "添加时间")
    private Date createDate;

    @
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值