1.无条件分页:

<?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"> <!--namespace写成类的全限定名有好处,在Dao中方便-->
<mapper namespace="com.winner.entity.Student"> <!--type是类的全限定名,因为mybatis.xml中有别名的设置,所以用别名,短,方便-->
<resultMap id="studentMap" type="Student">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="sal" column="sal"/>
</resultMap> <!--这里做一个约定,返回值类型以后都写resultMap的id-->
<!--SQL语句这样写易读性更好-->
<select id="findAllWithPage" parameterType="map" resultMap="studentMap">
SELECT id,name,sal
FROM student
LIMIT #{pstart},#{psize}
</select>
</mapper>
public class StudentDao {

    /**
* 无条件分页
* @param start 表示在mysql中从第几条记录的索引号开始显示,索引从0开始
* @param size 表示在mysql中最多显示几条记录
*/
public List<Student> findAllWithPage(int start,int size) throws Exception{
SqlSession sqlSession = null;
try{
sqlSession = MybatisUtil.getSqlSession();
Map<String,Object> map = new LinkedHashMap<String,Object>();
map.put("pstart",start);
map.put("psize",size);
return sqlSession.selectList(Student.class.getName() + ".findAllWithPage", map);
}catch(Exception ex){
ex.printStackTrace();
throw ex;
}finally{
MybatisUtil.closeSqlSession();
}
} public static void main(String[] args) throws Exception{
StudentDao dao = new StudentDao();
System.out.println("--------------------第一页");
List<Student> studentList1 = dao.findAllWithPage(0,3);
for(Student s : studentList1){
System.out.println(s.getId() + " : " + s.getName() + " : " + s.getSal());
}
System.out.println("--------------------第二页");
List<Student> studentList2 = dao.findAllWithPage(3,3);
for(Student s : studentList2){
System.out.println(s.getId() + " : " + s.getName() + " : " + s.getSal());
}
System.out.println("--------------------第三页");
List<Student> studentList3 = dao.findAllWithPage(6,3);
for(Student s : studentList3){
System.out.println(s.getId() + " : " + s.getName() + " : " + s.getSal());
}
System.out.println("--------------------第四页");
List<Student> studentList4 = dao.findAllWithPage(9,3);
for(Student s : studentList4){
System.out.println(s.getId() + " : " + s.getName() + " : " + s.getSal());
} }
}

2.带条件的分页

<select id="findAllByNameWithPage" parameterType="map" resultMap="studentMap">
SELECT id,name,sal
FROM student
WHERE name LIKE #{pname}
limit #{pstart},#{psize}
</select>
 /**
* 有条件分页
*/
public List<Student> findAllByNameWithPage(String name,int start,int size) throws Exception{
SqlSession sqlSession = null;
try{
sqlSession = MybatisUtil.getSqlSession();
Map<String,Object> map = new LinkedHashMap<String, Object>();
map.put("pname","%"+name+"%");
map.put("pstart",start);
map.put("psize",size);
return sqlSession.selectList(Student.class.getName()+".findAllByNameWithPage",map);
}catch(Exception ex){
ex.printStackTrace();
throw ex;
}finally{
MybatisUtil.closeSqlSession();
}
}

最新文章

  1. (转)小小科学家的归来 by 王珢
  2. Disruptor-net 3.3.0
  3. 将javascript函数写在Html标签里
  4. linux下实现在程序运行时的函数替换(热补丁)
  5. Wix 安装部署教程(十一) ---QuickWix
  6. Java- 类型转换
  7. PB数据库相关
  8. VC++内置数据类型存储及取值范围
  9. springmvc中对日期格式化的处理
  10. 如何降低90%Java垃圾回收时间?以阿里HBase的GC优化实践为例
  11. Unity3d外包—就找北京动点软件(长年承接Unity3d软件、游戏项目外包)
  12. 淘宝App直播宝贝数据采集
  13. java使用代理请求https
  14. EasyUI表格DataGrid获取数据的方式
  15. linux系统中对SSD硬盘优化的方法
  16. Android Studio无法打印Logout日志
  17. Scala单例对象和伴生对象
  18. 多维标度法(MDS)的Python实现
  19. [svc]kill pkill killall管理进程
  20. 20145106 java实验一

热门文章

  1. From MSI to WiX, Part 4 - Features and Components by Alex Shevchuk
  2. Java 学习计划
  3. 新贵HTML5,2016的发展方向会怎样?
  4. JAVASCRIPT实现翻页保存已勾选的项目
  5. 虚拟机安装Centos6.5之后的网络配置
  6. 1048. Find Coins (25)
  7. 10张思维导图带你学习JavaScript
  8. 百度地图 获取矩形point
  9. Xcode界面简介
  10. hdu 4712 Hamming Distance(随机函数暴力)