zoukankan      html  css  js  c++  java
  • HQL_返回全部列+部分列+单例_数据时、List中封装的不同


    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
    ****************************************************************
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • 相关阅读:
    Python 字符串格式化
    centos 7 & 6 优化脚本
    centos7.X 系统初始化>>优化
    重新嫁接rm命令
    ArcGIS Engine 10 开发常见问题的解决方法
    数据提交成功后如何避免alert被window.location.reload()影响
    服务器端IIS中部署带Office组件程序
    常用正则表达式
    C#解析XML
    使用Spire.Doc组件利用模板导出Word文档
  • 原文地址:https://www.cnblogs.com/qintangtao/p/2744813.html
Copyright © 2011-2022 走看看