HQL_返回全部列+部分列+单例_数据时、List中封装的不同
2012-10-29 15:23
260 查看
1、返回所有列的数据
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//检索的学生名字和所在系
List<Student> list = session.createQuery("from Student").list();
for (Student student : list) {
//System.out.println(student.getSname()+"选了"+student.getStudcourses().size()+"门课");
if(student.getStudcourses().size()==0){
System.out.println(student.getSname()+"没有选课");
}else{
Set<Studcourse> set = student.getStudcourses();
for (Studcourse studcourse : set) {
System.out.println(student.getSname()+"选了"+studcourse.getCourse().getCname());
}
}
}
****************************************************************
①hql语句:from Student ===>Student是类名 , 并且返回所有列数据
②.list(); : 返回的是List,并且把每一条数据 封装成 对象 存储在 List 中
****************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2、返回部分列的数据
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//检索的学生名字和所在系
List list = session.createQuery("select sname,sdept from Student").list();
for(int i=0; i<list.size(); i++){
/**
* 当只取部分属性时 不会封装成相应的domain对象
* 而是封装成了Object[]
* */
Object[] obj = (Object[]) list.get(i);
System.out.println(obj[0].toString() +" "+obj[1].toString());
}
System.out.println("***************");
//使用Iterator
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Object[] obj = (Object[]) iterator.next();
System.out.println(obj[0].toString() +" "+obj[1].toString());
}
****************************************************************
①select sname,sdept from Student ===> sname,sdept 是Student类的属性 , 返回部分列的数据
②当只取部分属性时 不会封装成相应的domain对象, 而是封装成了Object[]
****************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3、返回单列的数据
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*当查询单列数据时、List里面存放的是Object*/
List<Object> list = session.createQuery("select sname from Student").list();
for (Object object : list) {
System.out.println("sname="+object.toString());
}
****************************************************************
①select sname from Student ===> sname 是Student类的属性 , 返回单列的数据
②当只取部分属性时 不会封装成相应的domain对象, 而是封装成了Object
****************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//检索的学生名字和所在系
List<Student> list = session.createQuery("from Student").list();
for (Student student : list) {
//System.out.println(student.getSname()+"选了"+student.getStudcourses().size()+"门课");
if(student.getStudcourses().size()==0){
System.out.println(student.getSname()+"没有选课");
}else{
Set<Studcourse> set = student.getStudcourses();
for (Studcourse studcourse : set) {
System.out.println(student.getSname()+"选了"+studcourse.getCourse().getCname());
}
}
}
****************************************************************
①hql语句:from Student ===>Student是类名 , 并且返回所有列数据
②.list(); : 返回的是List,并且把每一条数据 封装成 对象 存储在 List 中
****************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2、返回部分列的数据
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//检索的学生名字和所在系
List list = session.createQuery("select sname,sdept from Student").list();
for(int i=0; i<list.size(); i++){
/**
* 当只取部分属性时 不会封装成相应的domain对象
* 而是封装成了Object[]
* */
Object[] obj = (Object[]) list.get(i);
System.out.println(obj[0].toString() +" "+obj[1].toString());
}
System.out.println("***************");
//使用Iterator
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Object[] obj = (Object[]) iterator.next();
System.out.println(obj[0].toString() +" "+obj[1].toString());
}
****************************************************************
①select sname,sdept from Student ===> sname,sdept 是Student类的属性 , 返回部分列的数据
②当只取部分属性时 不会封装成相应的domain对象, 而是封装成了Object[]
****************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3、返回单列的数据
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/*当查询单列数据时、List里面存放的是Object*/
List<Object> list = session.createQuery("select sname from Student").list();
for (Object object : list) {
System.out.println("sname="+object.toString());
}
****************************************************************
①select sname from Student ===> sname 是Student类的属性 , 返回单列的数据
②当只取部分属性时 不会封装成相应的domain对象, 而是封装成了Object
****************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
相关文章推荐
- 在hibernate3中如何利用HQL语句查询出对象中的部分数据并且返回该对象?
- Arrays.asList()参数不同,返回的数据不同的原因?
- FLEX学习笔记:TileList点击到不同的部分,返回的event.target类型
- Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
- Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
- HashMap封装的数据用循环快速添加进list中产生的数据集全部相同的问题
- [struts2] Struts2中采用Json返回List对象数据为空解决方案
- C#读取Excel表中同一列数据类型不同时,读取到的部分数据为空
- HQL查询的LIST<object> 返回omgrid显示
- 测试struts.xml中result参数的不同返回不同的json数据
- 测试struts.xml中result参数的不同返回不同的json数据
- hibernate query.list() 返回的数据类型
- HQL的使用及封装的操作数据的工具类
- hibernate 返回不同表中的数据
- 将泛型集合类(List<T>)转换成DataTable,返回的DataTable所有列的数据类型为string型,且列顺序与字符串提供的字段顺序一致
- NFD指令返回数据部分说明
- Http返回json数据后封装到pojo类当中
- 【转】C数据存储(包括const存储在哪,C++不同部分我在文中用红字已指出)
- jdbc,数据库案例:客户信息管理系统:jsp部分,数据库数据封装类,dao接口和实现
- nodejs - 根据用户地址不同 返回不同数据