{"id":15810,"date":"2024-03-15T11:46:53","date_gmt":"2024-03-15T11:46:53","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/"},"modified":"2025-08-06T21:44:55","modified_gmt":"2025-08-06T21:44:55","slug":"how-to-perform-pagination-on-multiple-tables-with-mybatis-plus","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/","title":{"rendered":"How to perform pagination on multiple tables with MyBat&#8230;"},"content":{"rendered":"<p>MyBatis Plus offers a Page object for implementing pagination queries. When conducting a multi-table join, the Wrapper class can be used to construct complex search conditions.<\/p>\n<p>Here is a sample code demonstrating how to use MyBatis Plus for performing a multi-table join and pagination.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-comment\">\/\/ \u6784\u5efa\u5206\u9875\u5bf9\u8c61<\/span>\r\nIPage&lt;User&gt; page = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">Page<\/span>&lt;&gt;(currentPage, pageSize);\r\n\r\n<span class=\"hljs-comment\">\/\/ \u6784\u5efa\u67e5\u8be2\u6761\u4ef6<\/span>\r\nQueryWrapper&lt;User&gt; queryWrapper = <span class=\"hljs-keyword\">new<\/span> <span class=\"hljs-title class_\">QueryWrapper<\/span>&lt;&gt;();\r\nqueryWrapper.eq(<span class=\"hljs-string\">\"status\"<\/span>, <span class=\"hljs-number\">1<\/span>) <span class=\"hljs-comment\">\/\/ \u6761\u4ef61\uff1a\u72b6\u6001\u4e3a1<\/span>\r\n    .like(<span class=\"hljs-string\">\"username\"<\/span>, <span class=\"hljs-string\">\"test\"<\/span>) <span class=\"hljs-comment\">\/\/ \u6761\u4ef62\uff1a\u7528\u6237\u540d\u5305\u542b\"test\"<\/span>\r\n    .between(<span class=\"hljs-string\">\"create_time\"<\/span>, startTime, endTime); <span class=\"hljs-comment\">\/\/ \u6761\u4ef63\uff1a\u521b\u5efa\u65f6\u95f4\u8303\u56f4<\/span>\r\n\r\n<span class=\"hljs-comment\">\/\/ \u6267\u884c\u591a\u8868\u8054\u67e5\uff0c\u5e76\u4f7f\u7528\u5206\u9875\u5bf9\u8c61\u8fdb\u884c\u5206\u9875\u67e5\u8be2<\/span>\r\nIPage&lt;User&gt; userPage = userMapper.selectPage(page, queryWrapper);\r\n\r\nList&lt;User&gt; userList = userPage.getRecords(); <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u67e5\u8be2\u7ed3\u679c\u5217\u8868<\/span>\r\n<span class=\"hljs-type\">long<\/span> <span class=\"hljs-variable\">total<\/span> <span class=\"hljs-operator\">=<\/span> userPage.getTotal(); <span class=\"hljs-comment\">\/\/ \u83b7\u53d6\u603b\u8bb0\u5f55\u6570<\/span>\r\n\r\n<span class=\"hljs-comment\">\/\/ \u5904\u7406\u67e5\u8be2\u7ed3\u679c<\/span>\r\n<span class=\"hljs-comment\">\/\/ ...<\/span>\r\n<\/code><\/pre>\n<p>In the example above, currentPage represents the current page number, pageSize represents the number of records displayed per page. User is the entity class and UserMapper is the corresponding Mapper interface.<\/p>\n<p>First, a Page object is constructed, specifying the current page number and the number of records to display per page. Then, complex querying conditions are built using QueryWrapper, including equal to, fuzzy matching, and interval queries. Finally, the selectPage method is called to execute a multi-table join and paginated query, returning an IPage object. The query result list can be obtained through getRecords, and the total number of records can be obtained through getTotal.<\/p>\n<p>The logic for adjusting query conditions and handling query results needs to be based on actual circumstances.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MyBatis Plus offers a Page object for implementing pagination queries. When conducting a multi-table join, the Wrapper class can be used to construct complex search conditions. Here is a sample code demonstrating how to use MyBatis Plus for performing a multi-table join and pagination. \/\/ \u6784\u5efa\u5206\u9875\u5bf9\u8c61 IPage&lt;User&gt; page = new Page&lt;&gt;(currentPage, pageSize); \/\/ \u6784\u5efa\u67e5\u8be2\u6761\u4ef6 QueryWrapper&lt;User&gt; [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[453,1402,299,1404,1403],"class_list":["post-15810","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-development","tag-guide","tag-programming","tag-technology","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to perform pagination on multiple tables with MyBat... - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn about how to perform pagination on multiple tables with mybatis plus?. Comprehensive guide with examples and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to perform pagination on multiple tables with MyBat...\" \/>\n<meta property=\"og:description\" content=\"Learn about how to perform pagination on multiple tables with mybatis plus?. Comprehensive guide with examples and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T11:46:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-08-06T21:44:55+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"How to perform pagination on multiple tables with MyBat&#8230;\",\"datePublished\":\"2024-03-15T11:46:53+00:00\",\"dateModified\":\"2025-08-06T21:44:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/\"},\"wordCount\":175,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"Development\",\"guide\",\"programming\",\"technology\",\"tutorial\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/\",\"name\":\"How to perform pagination on multiple tables with MyBat... - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T11:46:53+00:00\",\"dateModified\":\"2025-08-06T21:44:55+00:00\",\"description\":\"Learn about how to perform pagination on multiple tables with mybatis plus?. Comprehensive guide with examples and best practices.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to perform pagination on multiple tables with MyBat&#8230;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to perform pagination on multiple tables with MyBat... - Blog - Silicon Cloud","description":"Learn about how to perform pagination on multiple tables with mybatis plus?. Comprehensive guide with examples and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/","og_locale":"en_US","og_type":"article","og_title":"How to perform pagination on multiple tables with MyBat...","og_description":"Learn about how to perform pagination on multiple tables with mybatis plus?. Comprehensive guide with examples and best practices.","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T11:46:53+00:00","article_modified_time":"2025-08-06T21:44:55+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"How to perform pagination on multiple tables with MyBat&#8230;","datePublished":"2024-03-15T11:46:53+00:00","dateModified":"2025-08-06T21:44:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/"},"wordCount":175,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["Development","guide","programming","technology","tutorial"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/","name":"How to perform pagination on multiple tables with MyBat... - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T11:46:53+00:00","dateModified":"2025-08-06T21:44:55+00:00","description":"Learn about how to perform pagination on multiple tables with mybatis plus?. Comprehensive guide with examples and best practices.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-perform-pagination-on-multiple-tables-with-mybatis-plus\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to perform pagination on multiple tables with MyBat&#8230;"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=15810"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15810\/revisions"}],"predecessor-version":[{"id":159165,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/15810\/revisions\/159165"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=15810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=15810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=15810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}