业务介绍
在日常的项目评标中,一个项目拥有多个专家,一个专家可以在多个项目中,此时专家和项目的业务逻辑为多对多,需要建立中间表来约束二者的关系。多对多可以用查询结果映射结果集,而不是使用子查询,但是如果使用结果映射会导致子表中的数据条数也会加到主表的条数中,导致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

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

被折叠的 条评论
为什么被折叠?



