Hibernate在HQL中查询实例[Java编程]
本文“Hibernate在HQL中查询实例[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
我们学习Hibernate查询是知道HQL支持条件查询,分为好多方面,这里我们就具体Hibernate查询用实例来加以阐明,但愿对读者的学习带来帮忙.
1、支持字符串方法参数传送查询:
例子:
List students = session.createQuery("select s.id,s.name from Student s where s.name like '%1' ").list();
for (Iterator iter=students.iterator(); iter.hasNext();) {
Object[] o = (Object[])iter.next();
System.out.println(o[0]+","+o[1]);
}
由于,触及到多个属性查询,所以返回的是Object数组范例.
2、支持近似于PrepareStatement方法的?传送参数查询
例子:
List students = session.createQuery("select s.id,s.name from Student s where s.name like :goodname ")
.setParameter("goodname", "%1%").list();
for (Iterator iter=students.iterator(); iter.hasNext();) {
Object[] o = (Object[])iter.next();
System.out.println(o[0]+","+o[1]);
}
要设置参数从0开始,见第2行.
3、去变量方法参数传送
例子:
List students = session.createQuery("select s.id,s.name from Student s where s.name like :goodname ")
.setParameter("goodname", "%1%").list();
for (Iterator iter=students.iterator(); iter.hasNext();) {
Object[] o = (Object[])iter.next();
System.out.println(o[0]+","+o[1]);
}
这个跟2中的类似,只是多了参数可以归为一类.
4、支持多参数传送
例子:
List students = session.createQuery("select s.id, s.name from Student s where s.id in(:myids)")
.setParameterList("myids", new Object[]{1, 2, 3, 4, 5,32,13,14})
.list();
for (Iterator iter=students.iterator(); iter.hasNext();) {
Object[] o = (Object[])iter.next();
System.out.println(o[0]+","+o[1]);
}
注意调用办法是setParameterList.
以上是“Hibernate在HQL中查询实例[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |