mybatis学习03---实现分页

Mybatis实现分页

  1. 数据库中的Users表数据

mybatis学习03---实现分页

Sql语句映射

<!-- 分页查询 -->

   <select id="selectPage" parameterType="Map" resultType="com.master.User">

      select*from Users

      order by u_id

      offset #{pageIndex} rows

      fetch next #{pageSize} rows only

   </select>

这里使用的是SQL Server 如果 mysql只需要更改sql语句

Select*from 表名 inmit #{pageIndex}#{pageSize}

   pageIndex 开始下标(当前页-1*一页显示几条数据

业务类

public List<User> getSelectPage(int currentPage,int pageSize) throws IOException{

      SqlSession ss=MybatisUit.getSqlSession();

      //SQL语句创建传入参数,parameterType

      Map< String, Integer> map=new HashMap<String,Integer>();

      //pageIndex 开始下标currentPage当前页-1*一页显示的数据量

      map.put("pageIndex", (currentPage-1)*pageSize);

      //pageSize 一页显示的数据量即 一页显示多少条数据

      map.put("pageSize", pageSize);

      List<User> list=ss.selectList("com.master.UserMapper.selectPage", map);

      return list;

   }

测试类

public static void main(String[] args) throws IOException {

      UserDao ud = new UserDao();

      User user = new User();

 

      for (int i = 1; i < 4; i++) {

         List<User> li = ud.getSelectPage(i, 3);

         System.out.println("" + i + "");

         for (User u : li) {

            System.out.println(u);

         }

      }

   }

结果:

mybatis学习03---实现分页