mybatis之分页查询
1)StudentDao.java
/** * 持久层*/ public class StudentDao { /** * 增加学生 */ public void add(Student student) throws Exception{ SqlSession sqlSession = MyBatisUtil.getSqlSession(); try{ sqlSession.insert("mynamespace.add",student); }catch(Exception e){ e.printStackTrace(); sqlSession.rollback(); throw e; }finally{ sqlSession.commit(); MyBatisUtil.closeSqlSession(); } } /** * 无条件分页查询学生 */ public List<Student> findAllWithFy(int start,int size) throws Exception{ SqlSession sqlSession = MyBatisUtil.getSqlSession(); try{ Map<String,Integer> map = new LinkedHashMap<String,Integer>(); map.put("pstart",start); map.put("psize",size); return sqlSession.selectList("mynamespace.findAllWithFy",map); }catch(Exception e){ e.printStackTrace(); sqlSession.rollback(); throw e; }finally{ sqlSession.commit(); MyBatisUtil.closeSqlSession(); } } /** * 有条件分页查询学生 */ public List<Student> findAllByNameWithFy(String name,int start,int size) throws Exception{ SqlSession sqlSession = MyBatisUtil.getSqlSession(); try{ Map<String,Object> map = new LinkedHashMap<String,Object>(); map.put("pname","%"+name+"%"); map.put("pstart",start); map.put("psize",size); return sqlSession.selectList("mynamespace.findAllByNameWithFy",map); }catch(Exception e){ e.printStackTrace(); sqlSession.rollback(); throw e; }finally{ sqlSession.commit(); MyBatisUtil.closeSqlSession(); } } public static void main(String[] args) throws Exception{ StudentDao dao = new StudentDao(); System.out.println("-----------Page1"); for(Student s:dao.findAllByNameWithFy("哈",0,3)){ System.out.println(s.getId()+":"+s.getName()+":"+s.getSal()); } System.out.println("-----------Page2"); for(Student s:dao.findAllByNameWithFy("哈",3,3)){ System.out.println(s.getId()+":"+s.getName()+":"+s.getSal()); } System.out.println("-----------Page3"); for(Student s:dao.findAllByNameWithFy("哈",6,3)){ System.out.println(s.getId()+":"+s.getName()+":"+s.getSal()); } System.out.println("-----------Page4"); for(Student s:dao.findAllByNameWithFy("哈",9,3)){ System.out.println(s.getId()+":"+s.getName()+":"+s.getSal()); } } }
2)StudentMapper.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="mynamespace"> <insert id="add" parameterType="loaderman.Student"> insert into students(id,name,sal) values(#{id},#{name},#{sal}) </insert> <select id="findAllWithFy" parameterType="map" resultType="loaderman.Student"> select id,name,sal from students limit #{pstart},#{psize} </select> <select id="findAllByNameWithFy" parameterType="map" resultType="loaderman.Student"> select id,name,sal from students where name like #{pname} limit #{pstart},#{psize} </select> </mapper>
/**
*持久层
*@authorAdminTC
*/
publicclass StudentDao {
/**
*增加学生
*/
publicvoid add(Student student) throws Exception{
SqlSession sqlSession = MyBatisUtil.getSqlSession();
try{
sqlSession.insert("mynamespace.add",student);
}catch(Exception e){
e.printStackTrace();
sqlSession.rollback();
throw e;
}finally{
sqlSession.commit();
MyBatisUtil.closeSqlSession();
}
}
/**
*无条件分页查询学生
*/
public List<Student> findAllWithFy(int start,int size) throws Exception{
SqlSession sqlSession = MyBatisUtil.getSqlSession();
try{
Map<String,Integer> map = new LinkedHashMap<String,Integer>();
map.put("pstart",start);
map.put("psize",size);
return sqlSession.selectList("mynamespace.findAllWithFy",map);
}catch(Exception e){
e.printStackTrace();
sqlSession.rollback();
throw e;
}finally{
sqlSession.commit();
MyBatisUtil.closeSqlSession();
}
}
/**
*有条件分页查询学生
*/
public List<Student> findAllByNameWithFy(String name,int start,int size) throws Exception{
SqlSession sqlSession = MyBatisUtil.getSqlSession();
try{
Map<String,Object> map = new LinkedHashMap<String,Object>();
map.put("pname","%"+name+"%");
map.put("pstart",start);
map.put("psize",size);
return sqlSession.selectList("mynamespace.findAllByNameWithFy",map);
}catch(Exception e){
e.printStackTrace();
sqlSession.rollback();
throw e;
}finally{
sqlSession.commit();
MyBatisUtil.closeSqlSession();
}
}
publicstaticvoid main(String[] args) throws Exception{
StudentDao dao = new StudentDao();
System.out.println("-----------Page1");
for(Student s:dao.findAllByNameWithFy("哈",0,3)){
System.out.println(s.getId()+":"+s.getName()+":"+s.getSal());
}
System.out.println("-----------Page2");
for(Student s:dao.findAllByNameWithFy("哈",3,3)){
System.out.println(s.getId()+":"+s.getName()+":"+s.getSal());
}
System.out.println("-----------Page3");
for(Student s:dao.findAllByNameWithFy("哈",6,3)){
System.out.println(s.getId()+":"+s.getName()+":"+s.getSal());
}
System.out.println("-----------Page4");
for(Student s:dao.findAllByNameWithFy("哈",9,3)){
System.out.println(s.getId()+":"+s.getName()+":"+s.getSal());
}
}
}