mybatis分页插件使用

mybatis分页插件使用一 添加 pom xml 依赖 amp amp amp amp amp amp amp amp lt dependencies amp amp amp amp amp amp amp amp gt amp amp amp amp amp amp amp amp lt dependency amp amp amp amp amp amp amp amp gt amp

一、添加pom.xml依赖:

<dependencies> <dependency> <groupId>com.github.pagehelper 
     groupId> <artifactId>pagehelper 
      artifactId> <version>4.1.3 
       version>  
        dependency>  
         dependencies> 

二、添加mybatis-config.xml插件配置:

<plugins> <!-- 分页查询插件 --> <plugin interceptor="com.github.pagehelper.PageHelper"> <!-- 4.0.0以后版本可以不设置该参数,支持数据库类型Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库--> <property name="dialect" value="MariaDB" /> <!-- 该参数默认为false --> <!-- 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 --> <!-- 和startPage中的pageNum效果一样 --> <property name="offsetAsPageNum" value="true" /> <!-- 该参数默认为false --> <!-- 设置为true时,使用RowBounds分页会进行count查询 --> <property name="rowBoundsWithCount" value="true" /> <!-- 设置为true时,如果pageSize=0或者RowBounds.limit = 0就会查询出全部的结果 --> <!-- (相当于没有执行分页查询,但是返回结果仍然是Page类型) --> <property name="pageSizeZero" value="true" /> <!-- 3.3.0版本可用 - 分页参数合理化,默认false禁用 --> <!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 --> <!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 --> <!-- <property name="reasonable" value="false" /> --> <!-- 3.5.0版本可用 - 为了支持startPage(Object params)方法 --> <!-- 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值 --> <!-- 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值 --> <!-- 不理解该含义的前提下,不要随便复制该配置 --> <!-- <property name="params" value="pageNum=pageHelperStart;pageSize=pageHelperRows;" /> --> <!-- 支持通过Mapper接口参数来传递分页参数 --> <property name="supportMethodsArguments" value="false" /> <!-- always总是返回PageInfo类型,check检查返回类型是否为PageInfo,none返回Page --> <property name="returnPageInfo" value="none" /> </plugin> </plugins> 

三、UserMapper.xml中的SQL语句写法:

 <select id="selectByPrimaryKeyList" parameterType="java.lang.String" resultMap="BaseResultMap"> select * from t_user where user_id = #{userId,jdbcType=VARCHAR}  
       select> 

四、UserMapper.java类写法:

package com.seesun.mapper; import java.util.List; import com.seesun.bean.UserBean; public interface UserMapper { 
       List<UserBean> selectByPrimaryKeyList(String id); } 

五、测试类:

package com.seesun.judge; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.ContextConfiguration; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.seesun.mapper.UserMapper; import com.seesun.bean.UserBean; @RunWith(org.springframework.test.context.junit4.SpringJUnit4ClassRunner.class) @ContextConfiguration({ 
       "/META-INF/spring/*.xml"}) //加载配置文件 public class TestDemo { 
        private Logger loggger = LoggerFactory.getLogger(TestDemo.class); @Autowired private UserMapper userMapper; @Test public void testUserInfo() { 
        try { 
        String id = "YaU4MWqvuGINMcs2FXD"; PageInfo<UserBean> page = queryList(1, 5, id); System.out.println("总条目数:" + page.getTotal()); for (UserBean entity : page.getList()) { 
        loggger.info(entity.getUserAccount()); } } catch (Exception e) { 
        loggger.error(e.getMessage()); } } public PageInfo<UserBean> queryList(Integer pangNum, Integer pageSize, String id){ 
        return PageHelper.startPage(pangNum, pageSize).doSelectPageInfo(() -> userMapper.selectByPrimaryKeyList(id)); } } 

持续更新中…


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178589.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:56
下一篇 2026年3月26日 下午4:57


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号