Mybatis动态分页

  •  Mapper.xml

<?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.jmh.mybatis.mapper.BookMapper" >
   <resultMap id="row" type="com.jmh.mybatis.model.Book" >
      <id column="book_id" property="bookId"  javaType="java.lang.Integer" />
      <result column="book_name" property="bookName"  javaType="java.lang.String" />
      <result column="price" property="price"  javaType="java.lang.Float" />
  </resultMap>
<select id="listBook" resultMap="row">
    select
    <include refid="Base_Column_List" />
    from tb_book
    where 1=1
    /*判断名称不为空*/
    <if test="bookName != null ">
      and book_name like CONCAT('%',#{bookName},'%')
    </if>
    /*判断价格不为空*/
    <if test="price != null ">
      and price=#{price}
    </if>
    /*判断编号不为空*/
    <if test="bookId != null ">
      and book_id=#{bookId}
    </if>
</select>
</mapper>
  •  service层

 List<Book> listBook(BookVo book);
  •  实现类
    //创建对象
    private BookMapper bookMapper;
    /**
     * 给bookMapper set,get方法
     * @return
     */
    public BookMapper getBookMapper() {
        return bookMapper;
    }

    public void setBookMapper(BookMapper bookMapper) {
        this.bookMapper = bookMapper;
    }    

    @Override
    public List<Book> listBook(BookVo book) {
        return bookMapper.listBook(book);
    }
  •  添加分页依赖
    <!-- ********************** 分页依赖 ********************** -->
    <dependency>
      <groupId>com.github.pagehelper</groupId>
      <artifactId>pagehelper</artifactId>
      <version>5.1.2</version>
    </dependency>
  •  在Mybatis.xml添加分页插件
    <plugins>
        <!-- 配置分页插件PageHelper, 4.0.0以后的版本支持自动识别使用的数据库 -->
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
        </plugin>
    </plugins>
  •  使用junit进行测试
package com.jmh.mybatis.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jmh.mybatis.mapper.BookMapper;
import com.jmh.mybatis.model.BookVo;
import com.jmh.mybatis.service.IBookService;
import com.jmh.mybatis.utils.PageBean;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.util.List;

import static org.junit.Assert.*;

public class BookServiceImplTest {
    //创建对象
    private IBookService iBookService;
    private SqlSession sqlsession;
    private BookVo bookVo;

    @Before
    public void setUp() throws Exception {
        //获取session
        sqlsession = MybatisSqlSessionFactory.getSqlsession();
        BookMapper mapper = sqlsession.getMapper(BookMapper.class);
        BookServiceImpl bookServiceimpl=new BookServiceImpl();
        bookServiceimpl.setBookMapper(mapper);
        //实例化
        iBookService=bookServiceimpl;
        bookVo=new BookVo();



    }
    @After
    public void tearDown(){
        //提交
        sqlsession.commit();
        //关闭
        MybatisSqlSessionFactory.closeSqlsession();
    }

    @Test
    public void listBook() {
        //模糊查询
        bookVo.setBookName("波");
        PageHelper.startPage(1,10);//第一个参数:当前页码,第二个参数:页大小
        PageBean pageBean =new PageBean();
        List<Book> books = iBookService.listBook(bookVo);
        for (Book book : books) {
            System.out.println(book);
        }
        PageInfo pageInfo = new PageInfo(books);
        System.out.println("页码:" + pageInfo.getPageNum());
        System.out.println("页大小:" + pageInfo.getPageSize());
        System.out.println("总记录:" + pageInfo.getTotal());
    }



}

 测试结果如下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值