查询名字是Tom,年龄大于岁的用户按名字升序排列,检索的结果最多每一页显示3条数据
1)HQL检索方式 这是HQL使用最广的一种检索方式 //创建Query对象 Query query = session.createQuery("from User user where user.name =: userName" + "and user.age >: userAge order by user.name"); //设置分页 query.setFirstResult(0);//从0对象开始检索 query.setMaxResult(3); //设置查询条件的方式一 query.setString("userName" ,"Tom"); query.setString("userAge" ,10); //设置查询条件的方式二 query.setString(0 ,"Tom"); query.setString(1 ,18); //执行查询语句,返回查询结果 List res = query.list(); 2)QBC检索方式 第一步,创建Criteria对象 Criteria criteria = session.createCriteria(User.class); //设置查询条件 Criterion c1 = Restrictions.eq("name","S%"); Criterion c2 = Restrictions.gt("age",18); //添加查询条件 criteria.add(c1); criteria.add(c2); criteria.setFirstResult(0); query.setMaxResult(3); //设置按名字升序排列 criteria.addOrder(Order.asc("name")); //执行查询语句,返回查询结果 List res = criteria.list(); 3)本地SQL检索方式 //创建Query对象,注意里面查询的是表名和列名,不再是对象名,大写加以区分 Query query = session.createSQLQuery("select * from USER where NAME =: userName" + "and AGE >: userAge order by NAME"); query.setFirstResult(0);//从0对象开始检索 query.setMaxResult(3); //设置查询条件的方式一 query.setString("userName" ,"Tom"); query.setString("userAge" ,18); //执行查询语句,返回查询结果 List res = query.list();