SSM框架使用pageHelper

使用pagehelper我们首先在pom.xml里面引入相关依赖

<!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.3.3</version>
        </dependency>

当然你想使用其他的pageHelper版本可以点此搜索

点我选择pageHelper版本https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper

其次,在你的spring配置文件中设置pagehelper相关配置(在SqlSessionFactoryBean内就行)

  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="typeAliasesPackage" value="com.experience.entity"/>
        <property name="plugins">
            <array>
                <!-- 传入插件的对象 -->
                <bean class="com.github.pagehelper.PageInterceptor">
                    <property name="properties">
                        <props>
                            <prop key="helperDialect">mysql</prop>
                            <prop key="reasonable">true</prop>
                        </props>
                    </property>
                </bean>
            </array>
        </property>
    </bean>

dao

下面我们编写一个dao层的接口,例如我们想查询出book表中所有的图书记录

package com.experience.dao;

import com.experience.entity.Book;

import java.util.List;

public interface Book_all_dao {
    List<Book> getBookList();
}

XML配置

只注意几点就行

1.dao层接口和xml文件名字得相同

2.namespace是你dao层接口的路径

3.返回值resultType是你每一个从数据库里面查询出来的类型,我要查询所有的图书记录存在图书类集合里,那我的resultType类型每一个就是实体类包路径下的那个实体类

<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.experience.dao.Book_all_dao">
    <sql id="getBook">
        select * from book
    </sql>
    <select id="getBookList" resultType="com.experience.entity.Book">
        <include refid="getBook" />
    </select>
</mapper>

Service

建立一个service层的接口用来实现在service层实现对于dao层查询的调用

package com.experience.service;

import com.experience.entity.Book;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface Book_all_service {
    PageInfo<Book> getAllBooks(int pageNum,int pageSize);
}

现在我们在service层下面再建一个impl包去实现这个接口

package com.experience.service.impl;

import com.experience.dao.Book_all_dao;
import com.experience.entity.Book;
import com.experience.service.Book_all_service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class Book_all_service_impl implements Book_all_service {
    @Autowired
    Book_all_dao book_all_dao;
    @Override
    public PageInfo<Book> getAllBooks(int pageNum,int pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<Book> book = book_all_dao.getBookList();
        PageInfo<Book> pageInfo = new PageInfo<>(book);
        return pageInfo;
    }
}

现在service层的pageInfo就已经返回了分页好的数据

Controller

package com.experience.controller;

import com.experience.entity.Book;
import com.experience.service.Book_all_service;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Controller
public class Book_all_Controller {
    @Autowired
    Book_all_service book_all_service;
@RequestMapping(value = "/book")
public void sendBook(int pageNum, int pageSize) {
    PageInfo<Book> info = book_all_service.getAllBooks(pageNum,pageSize);
    //获取分页结果后打印到控制台
    for(Book book : info.getList()) {
        System.out.println(book.toString());
    }
}

}

前端(超简陋测试)

1.

7164d6b4423e47f69e4a3137825e378a.png

2.

d185892a74fd456689b3ab5fbf614b9c.png

 

 3.(不必紧张,我的sql里面第一行记录id就是3,别迷惑为什么是3开始)

91b1951892514a3b83eb0f7f3a578afe.png

现在整个pageHelper就已经完成了,根据你的实际需要在学会后进行改进代码吧,我主要就是把整个逻辑带你走一遍

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSM使用PageHelper实现分页非常简单。首先,你需要在项目的pom.xml文件中引入PageHelper的依赖。然后,在你的Mapper接口中添加对应的方法,并在该方法上添加PageHelper分页注解。最后,你可以在Service层或Controller层中调用该方法并传入分页参数,即可实现分页。下面是一个示例代码: 1. 首先,在pom.xml文件中引入PageHelper的依赖: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.5</version> </dependency> ``` 2. 在Mapper接口中添加分页方法,并使用PageHelper的注解进行分页配置: ```java import com.github.pagehelper.Page; import org.apache.ibatis.annotations.Param; public interface YourMapper { // 使用PageHelper的注解进行分页配置 List<YourEntity> getYourList(@Param("pageNum") int pageNum, @Param("pageSize") int pageSize); } ``` 3. 在Service层或Controller层中调用分页方法并传入分页参数: ```java import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @Service public class YourService { @Autowired private YourMapper yourMapper; public PageInfo<YourEntity> getYourList(int pageNum, int pageSize) { // 设置分页参数 PageHelper.startPage(pageNum, pageSize); // 调用Mapper方法查询数据 List<YourEntity> list = yourMapper.getYourList(pageNum, pageSize); // 封装成PageInfo对象返回 PageInfo<YourEntity> pageInfo = new PageInfo<>(list); return pageInfo; } } ``` 通过以上三个步骤,你就可以在SSM使用PageHelper实现分页了。首先,在pom.xml文件中引入PageHelper的依赖,然后在Mapper接口中添加分页方法并使用PageHelper的注解进行分页配置,最后在Service层或Controller层中调用分页方法并传入分页参数,即可实现分页。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【分页查询】在SSM环境中使用PageHelper](https://blog.csdn.net/weixin_44757863/article/details/109728886)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SSM整合实例--(二)PageHelper分页操作](https://blog.csdn.net/Double____C/article/details/91048168)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值