日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MyBatisPlus_查询分页篇_入门试炼_02

發布時間:2024/9/27 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MyBatisPlus_查询分页篇_入门试炼_02 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • 1. mapper接口
      • 2. 映射文件
      • 3. 實戰分頁

1. mapper接口

package com.gblfy.springboot.mybatisplus.mapper;import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gblfy.springboot.mybatisplus.entity.User; import org.apache.ibatis.annotations.Param;import java.util.List;public interface UserMapper extends BaseMapper<User> {/*** 查詢所有 有條件會自動拼接在where 后邊當條件 單表操作** @param wrapper* @return*///自定義sql 無分頁List<User> selectAll(@Param(Constants.WRAPPER) Wrapper<User> wrapper);/*** 查詢所有 有條件會自動拼接在where 后邊當條件 單表操作** @param page* @param wrapper* @return*///自定義sql 分頁IPage<User> selectUserPage(Page<User> page, @Param(Constants.WRAPPER) Wrapper<User> wrapper);/*** 源碼分析:* 根據 entity 條件,查詢全部記錄(并翻頁)** @param page 分頁查詢條件(可以為 RowBounds.DEFAULT)* @param queryWrapper 實體對象封裝操作類(可以為 null)*/ // <E extends IPage<T>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper); }

2. 映射文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.gblfy.springboot.mybatisplus.mapper.UserMapper"><select id="selectAll" resultType="com.gblfy.springboot.mybatisplus.entity.User">select * from user ${ew.customSqlSegment}</select><select id="selectUserPage" resultType="com.gblfy.springboot.mybatisplus.entity.User">select * from user ${ew.customSqlSegment}</select></mapper>

3. 實戰分頁

package com.gblfy.springboot.mybatisplus.mapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gblfy.springboot.mybatisplus.entity.User; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;@RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest @Slf4j public class UserSelectPageTest {@Autowiredprivate UserMapper userMapper;/*** myabtis 實現的分頁為什么還要分頁插件?* <p>* 1.mybatis實現得分頁時邏輯分頁或者叫做內存分頁不是物理分頁* 2.他是把符合條件的數據全部查詢出來放到內存中,然后返回你需要的那部分* 3.表中數據不多時,可以使用,速度慢一些;當數據量大時,建議使用物理分頁*/@Testpublic void selectPage() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.ge("age", 26);//總頁數+總記錄數Page<User> page = new Page<>(1, 2);IPage<User> iPage = userMapper.selectPage(page, queryWrapper);System.out.println("總頁數:" + iPage.getPages());System.out.println("總記錄數:" + iPage.getTotal());} //--------------------------------自定義分頁-----------------------------------/*** 其實就是按照MybatisPlus定義好的分頁模板,把咱們的實體放進去*/@Testpublic void selectMyPage() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.ge("age", 26);//總頁數+總記錄數Page<User> page = new Page<>(1, 2);//調用自定義sqlIPage<User> iPage = userMapper.selectUserPage(page, queryWrapper);System.out.println("總頁數:" + iPage.getPages());System.out.println("總記錄數:" + iPage.getTotal());List<User> userList = iPage.getRecords();userList.forEach(System.out::println);}/*** 源碼分析:* 根據 entity 條件,查詢全部記錄(并翻頁)** @param page 分頁查詢條件(可以為 RowBounds.DEFAULT)* @param queryWrapper 實體對象封裝操作類(可以為 null)*/ // <E extends IPage<T>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);// 多表操作/*** 多表操作:* 原則:* 把多表操作的內容放到xml映射的sql中** 1.在xml文件中書寫多表操作的sql語句* 2.在mapper接口中,定義接口* 3.客戶端(controller)調用即可*/ }

總結

以上是生活随笔為你收集整理的MyBatisPlus_查询分页篇_入门试炼_02的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。