zoukankan      html  css  js  c++  java
  • 8、mybatis分页

    MySQL中执行分页语句:

    index:从什么位置开始分页   pageIndex:分页显示的数量
    select
    * from mybatis.user limit index,pageIndex;

    第一种、使用mybatis进行分页操作:(map操作)

      IUserDao接口(定义业务方法):

    public interface IUserDao {
        /**分页查询*/
        List<User> getPageByLimit(Map<String,Integer> map);
    }

      UserMapper.xmlmapper(实现类):

    <!--命名空间:绑定UserDao相当于实现这个接口-->
    <mapper namespace="com.zhixi.dao.IUserDao">
    
        <!--结果集映射:用于实体类跟数据库字段名称不一样的情况-->
        <resultMap id="userMap" type="user">
            <!--column:数据库中的字段 property:实体类中的属性-->
            <result column="id" property="id"/>
            <result column="name" property="name"/>
            <result column="pwd" property="password"/>
        </resultMap>
    
        <!--分页-->
        <select id="getPageByLimit" resultMap="userMap" parameterType="map" >
            select * from mybatis.user limit #{index},#{pageIndex};
        </select>
    </mapper>

      测试类:

    public class IUserDaoTest {
    
        @Test
        public void getLimitTest() {
            SqlSession sqlSession = MybatisUtils.getSqlSession();
            IUserDao mapper = sqlSession.getMapper(IUserDao.class);
    
            Map<String, Integer> map = new HashMap<String, Integer>();
            //这里的index跟pageIndex要与mapper对应
            map.put("index", 0);
            map.put("pageIndex", 2);
    
            List<User> pageByLimit = mapper.getPageByLimit(map);
            for (User user : pageByLimit) {
                System.out.println(user);
            }
            sqlSession.close();
        }

      结果:

     第二种、使用mybatis进行分页操作:(普通limit实现)

    IUserDao接口(定义业务方法):

    public interface UserDao {
        /**
         * 分页查询的第二种方式
         */
        List<User> getLimit(@Param("id1") Integer id1, @Param("id2") Integer id2);
    }

      UserMapper.xmlmapper(实现类):

    <!--命名空间:绑定UserDao相当于实现这个接口-->
    <mapper namespace="com.zhixi.dao.IUserDao">
    
        <!--结果集映射:用于实体类跟数据库字段名称不一样的情况-->
        <resultMap id="userMap" type="user">
            <!--column:数据库中的字段 property:实体类中的属性-->
            <result column="id" property="id"/>
            <result column="name" property="name"/>
            <result column="pwd" property="password"/>
        </resultMap>
    
        <!--分页-->
    
      <select id="getLimit" parameterType="int" resultMap="BaseResultMap">
       select * from mybatis.user limit #{id1},#{id2};
      </select>

    </mapper>

      测试类:

    public class IUserDaoTest {
    @Test
    public void getLimit(){
    SqlSession sqlSession = MybatisUtils.getSqlSession();
    UserDao mapper = sqlSession.getMapper(UserDao.class);
    List<User> limit = mapper.getLimit(0, 2);
    for (User user : limit) {
    System.out.println(user);
    }
    sqlSession.close();
    }
    }

     

  • 相关阅读:
    【连载3】二手电商的交易模式与业务价值
    【连载0】二手电商专题研究前言
    【连载2】二手电商平台的四要素
    【连载1】何为二手实物电商
    阿里的社区梦 能靠闲鱼完成吗?
    二手回收能否翻过BAT这座大山?
    把握这两点,抢占下一个电商风口|2016最新中国电商App排名&研究报告
    互联网巨头为何偏爱“二手货”?告诉你真实的理由
    2016中国app年度排行榜:十大行业、25个领域、Top 500 和2017趋势预测
    Eventbus 使用方法和原理分析
  • 原文地址:https://www.cnblogs.com/zhangzhixi/p/14203809.html
Copyright © 2011-2022 走看看