两种方式查找
Criteria和Query
首先我们来看一下criteria这个方式的:
Session s=null;
try {
s=hibernateUtil.getSession();
String queryString="from User u whereu.name=:n";//User就是累名字,而u就是一个匿名别名,u.name是属性名
Query query=s.createQuery(queryString);//hibernate的查询语言hql
query.setString("n", name);//记住这是从0开始的
query.setFirstResult(2);
query.setMaxResults(2);
List<User> list=query.list(); //查出来的是一个列表说明是很多的数据
for (User user : list) {
System.out.println(user.toString());
}
// User user=(User) query.uniqueResult();//如果超过一行那么就是抛异常
// System.out.println(user.toString());
这是增加的代码,
我们再来看一下criteria这个的查找
Session session=null;
try {
session=hibernateUtil.getSession();
Criteriacriteria=session.createCriteria(User.class);
criteria.add(Restrictions.eq("name",name));//里面的是约束条件
//criteria.add(Restrictions.le("birthday",new Date()));//里面的是约束条件
List<User> list=criteria.list();
for (User user : list) {
System.out.println(user.toString());
}
} finally {
if (session!=null) {
session.close();
}
}
}