一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - mybatis-plus分頁查詢的實現示例

mybatis-plus分頁查詢的實現示例

2020-08-26 23:58一生。 Java教程

這篇文章主要介紹了mybatis-plus分頁查詢的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

按照官方文檔進行的配置:快速開始|mybatis-plus

引入依賴:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!-- 引入mybatisPlus -->
    <dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>mybatis-plus-boot-starter</artifactId>
   <version>3.2.0</version>
  </dependency>
  <!-- 引入mysql驅動包 -->
  <dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.27</version>
  </dependency>
  <!-- 引入Druid依賴,阿里巴巴所提供的數據源 -->
  <dependency>
   <groupId>com.alibaba</groupId>
   <artifactId>druid</artifactId>
   <version>1.0.29</version>
    </dependency>

在application.yml配置

?
1
2
3
4
5
6
7
spring:
 datasource:
 type: com.alibaba.druid.pool.DruidDataSource
 driver-class-name: com.mysql.jdbc.Driver
 url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8
 username: root
 password: 123456

在啟動類上面添加@MapperScan注解,掃描mapper包

?
1
2
3
4
5
6
7
8
9
@SpringBootApplication
@MapperScan("com.qiao.demo02.mapper")
public class SpringbootDemo02Application {
 
 public static void main(String[] args) {
  SpringApplication.run(SpringbootDemo02Application.class, args);
 }
 
}

新建User和UserMapper

mybatis-plus分頁查詢的實現示例

user類

?
1
2
3
4
5
6
7
8
@Data
public class User {
 @TableId
 private Integer userId;
 private String userName;
 private Integer userAge;
 private String userEmail;
}

UserMapper接口

?
1
2
3
public interface UserMapper extends BaseMapper<User> {
 
}

最重要的是繼承BaseMapper<E>接口:里面聲明了很強大的CRUD方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public interface BaseMapper<T> extends Mapper<T> {
 int insert(T entity);
 
 int deleteById(Serializable id);
 
 int deleteByMap(@Param("cm") Map<String, Object> columnMap);
 
 int delete(@Param("ew") Wrapper<T> wrapper);
 
 int deleteBatchIds(@Param("coll") Collection<? extends Serializable> idList);
 
 int updateById(@Param("et") T entity);
 
 int update(@Param("et") T entity, @Param("ew") Wrapper<T> updateWrapper);
 
 T selectById(Serializable id);
 
 List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);
 
 List<T> selectByMap(@Param("cm") Map<String, Object> columnMap);
 
 T selectOne(@Param("ew") Wrapper<T> queryWrapper);
 
 Integer selectCount(@Param("ew") Wrapper<T> queryWrapper);
 
 List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
 
 List<Map<String, Object>> selectMaps(@Param("ew") Wrapper<T> queryWrapper);
 
 List<Object> selectObjs(@Param("ew") Wrapper<T> queryWrapper);
 
 IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
 
 IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
}

分頁查詢

這點官方文檔講的也很詳細:https://mp.baomidou.com/guide/page.html

新建一個config包,在里面建一個MybatisPlus配置類 返回一個分頁攔截器

?
1
2
3
4
5
6
7
8
9
10
11
package com.qiao.demo02.config;
 
@Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig {
 @Bean
 public PaginationInterceptor paginationInterceptor() {
  PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
  return paginationInterceptor;
 }
}

這樣就能使用mybatis的分頁功能了

Junit測試

?
1
2
3
4
5
6
7
8
9
10
11
@Resource
 private UserMapper userMapper;
 @Test
 public void queryUserForPage(){
  IPage<User> userPage = new Page<>(2, 2);//參數一是當前頁,參數二是每頁個數
  userPage = userMapper.selectPage(userPage, null);
  List<User> list = userPage.getRecords();
  for(User user : list){
   System.out.println(user);
  }
 }

Controller返回json串

先定義一個包裝類UserVo,用來保存分頁所需要的數據

?
1
2
3
4
5
6
7
8
9
package com.qiao.demo02.vo;
 
@Data
public class UserVo {
 private Integer current;
 private Integer size;
 private Long total;
 private List<User> userList;
}

然后在控制器編寫代碼,這里省略了service層,實際開發業務代碼寫在service層,Controller只負責:接受參數、調用service層方法處理業務邏輯,返回結果

Controller類貼上了@RestController注解

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@GetMapping("queryUser")
public UserVo queryList(Integer current, Integer size) {
 /**
  * 這些代碼應該寫在service層
  */
 UserVo userVo = new UserVo();
 IPage<User> page = new Page<>(current, size);
 userMapper.selectPage(page, null);
 userVo.setCurrent(current);
 userVo.setSize(size);
 userVo.setTotal(page.getTotal());
 userVo.setUserList(page.getRecords());
 return userVo;
}

附上結果,前端直接處理json數據即可

mybatis-plus分頁查詢的實現示例

到此這篇關于mybatis-plus分頁查詢的實現示例的文章就介紹到這了,更多相關mybatis-plus 分頁查詢 內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/seekknowledge/p/11734955.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本三级在线观看免费 | 久久精品视频在线看 | 91香蕉国产视频 | 九九九国产在线 | 国产精品日本一区二区三区在线看 | 久久精品午夜一区二区福利 | 美日韩一区二区三区 | 国产成人99久久亚洲综合精品 | a v在线男人的天堂观看免费 | 四虎地址 | 成人综合婷婷国产精品久久免费 | 91啪在线观看国产在线 | 忘忧草在线社区WWW日本-韩国 | 亚洲免费视频一区二区三区 | 日本捏胸吃奶视频免费 | 2021国产麻豆剧传媒剧情最新 | 色碰视频 | 亚洲成人精品久久 | 人人人人看人人人做人人 | 久久精品亚洲牛牛影视 | 丝袜兔女郎被啪在线观看91 | 亚洲国产欧美在线看片 | 国产中文视频 | 成年人免费观看的视频 | 99久久精品免费看国产一区 | 欧美日韩成人在线视频 | 日本免费在线观看 | 亚洲成a人片777777久久 | 国产精品免费视频能看 | 欧美日韩国产另类一区二区三区 | 青青草99热久久 | 5x社区发源地最新地址 | 国产成人精品免费 | tube性睡觉hd| 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | www.国产一区二区三区 | 丝袜老师好湿好紧我要进去了 | 亚洲成熟人网站 | yjsp妖精视频在线观看免费 | 女老板用丝袜脚夹我好爽 | 亚洲精品视频专区 |