成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

若依3.6.0使用Mybatis-plus分頁失效以及完美替換Pagehelper

開發(fā) 后端 其他數據庫
刪Pagehelper和Mybatis的依賴,然后一點點的改若依一些基本配置的分頁就好,最后在加上Mybatis-plus的分頁插件配置!最最重要的是要掃描到寫的分頁插件,不然不生效!

一、前言

小編最近在經歷后端框架的遷移,雖然不是小編來做,但是有個分頁的情況讓小編和一個同事去搞。說一下小編這邊的需求:原來框架使用?Mybatis-plus?進行分頁,要更換的新框架若依是使用Pagehelper?。所以現在需求讓我們把若依的干掉,使用Mybatis-plus,Mybatis-plus?的生態(tài)還是挺好的,方便,最重要的是和原來的框架一樣,不需要更改。存在問題:需要把若依以前的分頁全部改成?Mybatis-plus的分頁,那我們就按個換嘍,誰讓咱們喜歡搬磚!

先說一下問題出現的原因:Mybatis和Mybatis-plus存在沖突,?Pagehelper依賴于Mybatis,所以沖突了!!

解決方案:刪?Pagehelper和Mybatis?的依賴,然后一點點的改若依一些基本配置的分頁就好,最后在加上Mybatis-plus的分頁插件配置!最最重要的是要掃描到寫的分頁插件,不然不生效!?

二、刪依賴

1、刪除根目錄的依賴

<!-- Mybatis 依賴配置 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${spring-boot.mybatis}</version>
</dependency>

<!-- pagehelper 分頁插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
<spring-boot.mybatis>2.2.2</spring-boot.mybatis>

2、根目錄添加依賴

<!--   mybatis-plus     -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${spring-boot.mybatis-plus}</version>
</dependency>
<spring-boot.mybatis-plus>3.5.1</spring-boot.mybatis-plus>

3、ruoyi-common-core模塊刪除依賴

<!-- Pagehelper -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>

三、修改文件

1、注釋PageUtils

整個類全部注釋!

/**
* 分頁工具類
*
* @author ruoyi
*/
public class PageUtils extends PageHelper{}

2、注釋BaseController分頁方法

/**
* 設置請求分頁數據
*/
protected void startPage(){
PageUtils.startPage();
}

/**
* 清理分頁的線程變量
*/
protected void clearPage(){
PageUtils.clearPage();
}

/**
* 響應請求分頁數據
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
protected TableDataInfo getDataTable(List<?> list){
TableDataInfo rspData = new TableDataInfo();
rspData.setCode(HttpStatus.SUCCESS);
rspData.setRows(list);
rspData.setMsg("查詢成功");
rspData.setTotal(new PageInfo(list).getTotal());
return rspData;
}

四、配置Mybatis-plus分頁

1、在ruoyi-common-core中新建配置類

@Configuration
public class MybatisPlusConfig {

/**
* 新的分頁插件,一緩和二緩遵循mybatis的規(guī)則,需要設置 MybatisConfiguration#useDeprecatedExecutor = false 避免緩存出現問題(該屬性會在舊插件移除后一同移除)
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}

}

圖片

2、配置上可以掃描的

我們發(fā)現在core中已經給了我們提示,他配置了一個,我們只需要把我們剛剛寫的配置類加上去,就可以掃描到這配置,然后生效了?。?/p>

不配置不生效(切記切記)!

我們找到所在位置,添加上全路徑即可,這里我們對若依的架構修改了名稱,也就是若依的core包下的!

圖片

五、修改ruoyi-modules-system

我們的宗旨是不影響之前的使用,需要我們新寫一個分頁,因為他們的export接口都使用了原來的分頁,雖然分頁沒了,但是只要不調用還是不會報錯的!
我們以一個controller的改造為例:

1、SysConfigController改造

原來的方法:

/**
* 獲取參數配置列表
*/
@RequiresPermissions("system:config:list")
@GetMapping("/list")
public TableDataInfo list(SysConfig config){
startPage();
List<SysConfig> list = configService.selectConfigList(config);
return getDataTable(list);
}

修改后的方法:

這里統一返回值我是使用我們以前架構的,大家也可以使用若依自帶的AjaxResult,只需要添加上Page即可,原來的方法我們不動,重新寫一個兩個參數的方法。

/**
* 獲取參數配置列表
*/
@RequiresPermissions("system:config:list")
@GetMapping("/list")
public R list(Page page, SysConfig config) {
return R.ok(configService.selectConfigList(page, config));
}

2、ISysConfigService新增分頁方法

/**
* 新分頁
* @param page
* @param config
* @return
*/
Page<SysConfig> selectConfigList(Page page,SysConfig config);

3、SysConfigServiceImpl新增分頁實現方法

@Override
public Page<SysConfig> selectConfigList(Page page, SysConfig config) {
return configMapper.selectConfigList(page,config);
}

4、SysConfigMapper新增分頁接口

/**
* 新分頁
* @param page
* @param config
* @return
*/
Page<SysConfig> selectConfigList(Page page,@Param("config") SysConfig config);

5、總結

這樣依次對ruoyi-modules-system項目進行修改,還有一些job和gen,不要和不用的就注釋掉,只要不報錯,原來的項目分頁就可以展示出來,原來不改造之前是total和pages都是0,改造后恢復正常。

總的來說就是刪依賴,加依賴,注釋一些不要的,添加一個新的分頁方法即可,都是搬磚的活,哈哈!!

六、補充

這樣之后我們發(fā)現system項目中的分頁是有問題,是因為xml文件里沒有指定對象.屬性。于是把xml的一個例子修改了,現在分享給大家:

<select id="selectDeptList" resultMap="SysDeptResult">
<include refid="selectDeptVo"/>
where d.del_flag = '0'
<if test="dept.deptId != null and dept.deptId != 0">
AND dept_id = #{dept.deptId}
</if>
<if test="dept.parentId != null and dept.parentId != 0">
AND parent_id = #{dept.parentId}
</if>
<if test="dept.deptName != null and dept.deptName != ''">
AND dept_name like concat('%', #{dept.deptName}, '%')
</if>
<if test="dept.status != null and dept.status != ''">
AND status = #{dept.status}
</if>
<!-- 數據范圍過濾 -->
${dept.params.dataScope}
order by d.parent_id, d.order_num
</select>
責任編輯:姜華 來源: 小王博客基地
相關推薦

2024-12-20 16:49:15

MyBatis開發(fā)代碼

2024-05-14 08:37:34

2022-11-16 10:11:08

若依Mybatis

2019-11-25 16:05:20

MybatisPageHelpeJava

2023-06-07 08:08:37

MybatisSpringBoot

2025-02-27 09:45:47

2024-07-31 09:56:20

2023-07-29 22:02:06

MyBatis數據庫配置

2023-06-14 08:34:18

Mybatis死鎖框架

2023-01-12 09:13:49

Mybatis數據庫

2023-10-31 08:01:48

Mybatis參數jdbcurl?

2023-06-07 08:00:00

MySQL批量插入

2020-10-27 14:15:42

SpringBoot

2025-05-26 03:20:00

SpringMyBatis數據權限

2024-02-28 09:35:52

2024-11-28 19:03:56

2025-02-13 07:59:13

2025-02-06 07:45:44

2022-05-20 12:24:45

分庫分表Java依賴

2024-09-02 08:12:32

Spring策略MyBatis
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 草樱av | 91精品在线观看入口 | 99精品欧美一区二区蜜桃免费 | 不卡在线视频 | 久久久精品天堂 | 色播久久久 | 日韩影院在线 | 日韩中文字幕一区二区三区 | 亚洲视频第一页 | 国产区在线 | 国产精品日韩一区 | 手机看黄av免费网址 | 求毛片| sese视频在线观看 | 99在线精品视频 | av片网| 日韩中出| 一区视频在线 | 亚洲午夜精品一区二区三区他趣 | 国产精品日韩 | 久久精品69 | 国产高清视频一区二区 | 国产精品亚洲一区二区三区在线 | 成人国产精品久久久 | 国产精品视频免费观看 | 亚洲视频免费观看 | 在线观看中文字幕一区二区 | 亚洲一区二区在线视频 | 久久一本 | 射久久| 成人h视频在线观看 | 99久久精品免费视频 | 欧美日韩在线免费 | 韩日在线视频 | 精品成人av | 99热视| 91在线视频网址 | 91麻豆精品一区二区三区 | 91精品国产91久久久久久最新 | 红色av社区 | 国产视频线观看永久免费 |