分享 今天要写一个分页查询,但是表名和参数都要作为入参传到sql进行 我:没有头绪,怎么设计一个分页查询 同事:有啥难的,你直接用mybatisplus插件不就好了 我:但是我这个表名事不固定的,不知道哪个表 同事:那也简单,你看我给你写个。那么他如何写的一个分页查询的mybatisplus分页查询第一种常见单表分页第一步pom文件引用!mybatisplusdependencygroupIdcom。baomidougroupIdmybatisplusbootstarterartifactIdversion{mybatisplus。version}versiondependency第二步插件的配置ConfigurationpublicclassMybatisPlusConfig{新的分页插件,一缓和二缓遵循mybatis的规则,需要设置MybatisConfigurationuseDeprecatedExecutorfalse避免缓存出现问题(该属性会在旧插件移除后一同移除)BeanpublicMybatisPlusInterceptormybatisPlusInterceptor(){MybatisPlusInterceptorinterceptornewMybatisPlusInterceptor();PaginationInnerInterceptorpaginationInnerInterceptornewPaginationInnerInterceptor();paginationInnerInterceptor。setDbType(DbType。MYSQL);paginationInnerInterceptor。setOverflow(true);interceptor。addInnerInterceptor(paginationInnerInterceptor);}BeanpublicConfigurationCustomizerconfigurationCustomizer(){returnconfigurationconfiguration。setUseDeprecatedExecutor(false);}}第三步调用TestpublicvoidselectPage(){PageHisQueyPojopageHisQueyPojonewPageHisQueyPojo();PageHistoryQueryRecordpagenewPage(request。getCurrPage(),request。getPageSize());IPageHistoryQueryRecorduserIPagehistoryQueryRecordMapper。selectPage(page,null);pageHisQueyPojo。setCurrent(request。getCurrPage());pageHisQueyPojo。setSize(request。getPageSize());pageHisQueyPojo。setTotal(userIPage。getTotal());pageHisQueyPojo。setDataList(userIPage。getRecords());}TestpublicvoidselectMapsPage(){LambdaQueryWrapperUseruserLambdaQueryWrapperWrappers。lambdaQuery();userLambdaQueryWrapper。select(User::getUsername)。like(User::getUsername,k);PageMapString,ObjectmapPagenewPage(1,2,false);IPageMapString,ObjectmapIPageuserMapper。selectMapsPage(mapPage,userLambdaQueryWrapper);System。out。println(总页数:mapIPage。getPages());System。out。println(总记录数:mapIPage。getTotal());mapIPage。getRecords()。forEach(System。out::println);}第二种自定义sql分页查询mapper。xml类selectidselectByHisNameresultTypejava。lang。Stringselectu。realnamefromhisipdencountere,hisuseruwheree。hisuidu。hisuidselectmapper类publicinterfaceUserMapperextendsMyMapperUser{多表查询分页parampagereturnIPageStringselectByHisName(IPageUserpage);}调用Testpublicvoidselect(){创建分页参数PageUserpagenewPage(1,2);IPageStringresultuserMapper。selectByHisName(page);获取数据ListStringrecordsresult。getRecords();records。forEach(System。out::println);System。out。println(总页数result。getPages());}第三种不用插件分页查询mapper。xml类selectidfindDataPageByTableresultTypejava。util。MapparameterTypejava。lang。Stringselect{columns}from{tableName}limit{curPage},{pageSize}selectmapper类publicListMapString,ObjectfindDataPageByTable(Param(curPage)intcurPage,Param(pageSize)intpageSize,Param(columns)Stringcolumns,Param(tableName)StringtableName);调用查询表里面所有的数据longsizedataCentreMapper。count(tableId);ListMapString,ObjectdataListdataCentreMapper。findDataPageByTable((current1)pageSize,pageSize,cloumns,tableId); 留个关注 《日常分享系列》,会持续更新,想了解的朋友可以关注,文章有帮助的话可以长按点赞有惊喜!!!文章比较长,大家可以先收藏、转发后再看,有什么补充可以在下面评论,谢谢大家!