从零开始学Mybatis(十三)——分页插件

  • 下载分页插件

http://github.com/pagehelper/Mybatis-PageHelper/blob/master/README_zh.md

  • 导入分页插件jar包到工程中

  • 在SqlMappingConfig.xml中配置分页插件

<plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
 </plugins>

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--用resource引入外部属性配置文件-->
    <properties resource="db.properties">
        <!--在properties内部用property定义属性-->
        <!--如果外部配置文件有该属性,则内部定义的属性会被外部属性覆盖-->
        <property name="jdbc.username" value="root"/>
        <property name="jdbc.password" value="1234"/>
    </properties>
    <!--用来配置Mybatis中的设置-->
    <settings>
        <!--开启驼峰映射,为自定义的SQL语句服务-->
        <!--设置启用数据库字段下划线映射到java对象的驼峰式命名属性,默认为false-->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

    <typeAliases>
        <!--单个别名定义-->
        <typeAlias alias="Customer" type="demo2.domain.Customer"/>
        <typeAlias alias="Order" type="demo2.domain.Order"/>
        <typeAlias alias="Teacher" type="demo3.domain.Teacher"/>
        <typeAlias alias="Student" type="demo3.domain.Student"/>
        <!--批量别名定义,扫描整个包下的类,别名为类名(大小写不敏感)-->
        <!--注意:如果当前包类与子包类重名,则会报异常,我们可以在类上使用注解@Alias("别名")-->
        <!--<package name="demo2"/>-->
    </typeAliases>
    <!--配置分页插件-->
    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>


    <environments default="development">
        <environment id="development">
            <!--使用jdbc事务管理-->
            <transactionManager type="JDBC"/>
            <!--配置数据库连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <!--加载映射文件-->
    <mappers>
        <!--<mapper resource="demo1/Mapping"/>-->
        <mapper resource="demo2/mapper/Mapping"/>
        <mapper resource="demo2/mapper/Mapping2"/>
        <mapper resource="demo3/mapper/StudentMapping"/>
        <mapper resource="demo3/mapper/TeacherMapping"/>
    </mappers>
</configuration>
  • 使用分页插件

@Test
public void test2() throws IOException {
    this.init();
    //1、创建sqlSession对象
    SqlSession sqlSession = sqlSessionFactory.openSession();
    //2、加载Mapper接口
    CustomerMapper mapper = sqlSession.getMapper(CustomerMapper.class);
    //3、调用Mapper中的方法执行sql

    /*在查询之前设置分页插件*/
    Page<Customer> page = PageHelper.startPage(2, 3);

    List<Customer> customers = mapper.queryAll();
    //在查询数据之后添加
    PageInfo<Customer> pageInfo = new PageInfo<>(customers);
    // 分页插件属性介绍
    System.out.println("当前页:"+pageInfo.getPageNum());
    System.out.println("每页显示记录数:"+pageInfo.getPageSize());
    System.out.println("总页数:"+pageInfo.getPages());
    System.out.println("总记录数:"+pageInfo.getTotal());
    System.out.println("是否有上一页:"+pageInfo.isHasPreviousPage());
    System.out.println("是否有下一页:"+pageInfo.isHasNextPage());
    System.out.println("导航页码:"+ Arrays.toString(pageInfo.getNavigatepageNums()));
    for (Customer customer:pageInfo.getList()) {
        System.out.println(customer);
    }
    //4、关闭连接,释放资源
    sqlSession.close();
}

运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值