用到的依賴:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatisplus.version}</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</exclusion>
</exclusions>
</dependency>
首先配置mybatis-plus配置
package com.qfclo.login.config; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.extension.plugins.PerformanceInterceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Properties; @Configuration @MapperScan("com.qfclo.login.mapper") public class MybatisPlusConfig { /** * 分頁插件 */ @Bean public PaginationInterceptorpaginationInterceptor() { return new PaginationInterceptor(); } /** * 打印 sql */ @Bean public PerformanceInterceptorperformanceInterceptor() { PerformanceInterceptor performanceInterceptor =new PerformanceInterceptor(); //格式化sql語句 Properties properties =new Properties(); properties.setProperty("format", "faalse"); performanceInterceptor.setProperties(properties); return performanceInterceptor; } }
第一種方式,mybatis-plus原生QueryWrapper方式分頁,這種方式比較簡單,可以不用修改Mapper,適合簡單的增刪改查。
@RequestMapping(value = "/orgist1")//,method = RequestMethod.POST) public Map<String,Object> orglist1() { Map<String,Object> map = new HashMap<>(); QueryWrapper<OauthOrganization> queryWrapper = new QueryWrapper<>(); queryWrapper.orderByDesc("id"); Page<OauthOrganization> page = new Page<>(1,5); // 查詢第1頁,每頁返回5條 IPage<OauthOrganization> iPage = oauthOrganizationMapper.selectPage(page,queryWrapper); System.out.println(iPage.getRecords().size()); System.out.println(JSON.toJSONString(iPage)); return map; }
第二種方式,使用mapper文件的select注解,優點是可以方便的建立查詢語句,可以聯合多表查詢。
Mapper文件
@Select("SELECT * FROM oauth_organization WHERE id < #{m.id} ORDER BY `id` DESC") List<OauthOrganization> selectpage(Map<String,Object> m, Page<OauthOrganization> page);
Controller文件
@RequestMapping(value = "/orgist4")//,method = RequestMethod.POST) public Map<String,Object> orglist4() { Map<String,Object> map = new HashMap<>(); Map<String,Object> m = new HashMap<>(); m.put("id",5); Page<OauthOrganization> page = new Page<>(1,5); page.setRecords(oauthOrganizationMapper.selectpage(m,page)); System.out.println(page.getRecords().size()); System.out.println(JSON.toJSONString(page)); return map; }
作者:小魚兒2020
鏈接:https://www.jianshu.com/p/0a21569f1e06
來源:簡書