mybatis多对多利用子查询解决分页插件数量出错问题

本文介绍了在处理mybatis多对多关系时,由于使用结果映射导致分页插件计算总数错误的问题。通过采用子查询的方式,解决了项目与专家多对多关系中分页插件的总数出错,确保了查询结果的准确性。详细内容包括业务背景、数据表结构、Java类设计以及mapper中的分页查询实现。
摘要由CSDN通过智能技术生成

业务介绍

在日常的项目评标中,一个项目拥有多个专家,一个专家可以在多个项目中,此时专家和项目的业务逻辑为多对多,需要建立中间表来约束二者的关系。多对多可以用查询结果映射结果集,而不是使用子查询,但是如果使用结果映射会导致子表中的数据条数也会加到主表的条数中,导致mybatis的page插件中total总数出错,所以使用子查询规避了这个问题。

数据表

  • 数据库中创建项目表
create table `project`(
	`id` varchar(36),
	`project_name` varchar(32),
	`project_type` varchar(32),
	PRIMARY KEY (`id`)
)
  • 数据库中创建专家表
create table `professor`(
	`id` varchar(36),
	`professor_name` varchar(32),
	`professor_type` varchar(32),
	PRIMARY KEY (`id`)
)
  • 数据库中创建项目专家中间表
create table
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值