=============== MyBatis分页查询 =============== public interface StudentDao { ... // 分页查询 //public List pag(HashMap params); //public List pag(int start, int size); public List pag(@Param("start") int start, @Param("size") int size); ... } ... ... 虽然Java类的方法可以重载,但是Mapper中的ID必须唯一,因此DAO方法不要同名。 public class StudentDaoTest { ... // 测试分页查询 @Test public void testPag() { try { // SQL会话 SqlSession session = new SqlSessionFactoryBuilder() .build(Resources.getResourceAsStream("mybatis-config.xml")) .openSession(); // 数据访问对象 StudentDao dao = session.getMapper(StudentDao.class); // 分页查询 /* HashMap params = new HashMap<>(); params.put("start", 0); params.put("size", 2); List students = dao.pag(params); */ List students = dao.pag(0, 2); // 打印分页 for (Student student : students) System.out.println(student); } catch (IOException e) { e.printStackTrace(); } } ... } 执行条件查询的方法: - 只有一个简单类型或字符串类型的参数 在SQL中可以直接用#{xxx}结合参数,xxx可以任意 - 只有一个类类型的参数 在SQL中用#{属性名}结合参数 - 包含多个参数 - 用Map包装成单参形式,在SQL中用#{键}取参 - 多参形式,在SQL中用#{arg0}、#{arg1}或#{param1}、#{param2}依序取参 - 多参形式,用Param注解为每个参数定义别名,在SQL中用#{别名}按名取参 例程:HelloMyBatis