HQL 简单属性查询

简单属性查询(重要)
* 单一属性查询,返回结果集是属性列表,其元素类型和实体类中相应的属性类型一致
* 多个属性查询,返回的结果集是对象数组,数组的长度和查询的属性的个数一致
数组元素的类型和查询的属性类型一致
* 如果认为返回的数组不够对象化,可以采用hql动态生成实体对象

package com.wlh.hibernate;

import java.util.Iterator;
import java.util.List;

import junit.framework.TestCase;

import org.hibernate.Session;

public class SimplePropertyTest extends TestCase{


//单个属性查询
public void testQuery1(){

Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
//单个属性查询,返回结果集属性集合,其元素类型和实体类中相应属性的类型一致
List students=session.createQuery("select name from Student ").list();
for(Iterator iter=students.iterator();iter.hasNext();){
String name=(String)iter.next();
System.out.println("name="+name);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
//多个属性查询
public void testQuery2(){

Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
//查询多个属性其集合元素是对象数组l列表。即,多个对象数组的集合
//数组元素中的类型与对应的实体类中的属性类型一致
//数组的长度取决于查询的属性个数
List students=session.createQuery("select id,name from Student ").list();
for(Iterator iter=students.iterator();iter.hasNext();){
Object[] o=(Object [])iter.next();
System.out.println("id="+o[0]+",name="+o[1]);
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}

//多个属性查询
public void testQuery3(){

Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();

List students=session.createQuery("select new Student(id,name) from Student ").list();
for(Iterator iter=students.iterator();iter.hasNext();){
Student o=(Student)iter.next();
System.out.println("id="+o.getId()+",name="+o.getName());
}
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值