zoukankan      html  css  js  c++  java
  • dljd_052_hibernate_单表查询_投影查询

    一、投影查询

    package edu.aeon.hibernate.test;
    import java.util.List;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import org.junit.Test;
    import edu.aeon.aeonutils.hibernate.getsessionutil.GetSessionUtil;
    import edu.aeon.beans.Student;
    /**    
     * [说明]:投影查询:只查询名字和年龄这两个字段
     *         必须要有相应的构造器
     * @author aeon
     *
     */
    public class TestQuery {
        @Test
        public  void testQueryRecordCount() {
            Session session=null;
            Transaction transaction=null;
            try {
                session = GetSessionUtil.getSession();
                transaction=session.getTransaction();
                transaction.begin();
                //这里的count(*)相当于count(id)
                String sql = "select new Student(stuName,stuAge) from Student";
                List<Student> userList = session.createQuery(sql).list();
                for (Student stu : userList) {
                    System.out.println(stu);
                }
                session.getTransaction().commit();
            } catch (Exception e) {
                e.printStackTrace();
                //事物的回滚操作
                transaction.rollback();
            }
        }
    }

    数据库信息截图:

      

    执行结果截图:

      

    只查出来了用户名和年龄两个字段吧!其它值都是默认显示值,因为我在Student类里面重写了equals方法,所以也显示出来了

      

     这里必须要注意、你查询那些字段、必须要有这些字段的相应构造器!比如上面就必须要有   public  Student(String stuName,int stuAge){}构造器。

    如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

  • 相关阅读:
    mzy git学习,分支以及分支合并(四)
    mzy git学习,删除文件(三)
    mzy git学习,撤销修改(二)
    mzy git学习,初识git(一)
    apche的BeanUtils避免使用!
    eclipse性能调优的一次记录
    Java规范化代码eclipse模板注释
    左倾堆(对两个优先队列合并)
    二叉堆的实现(数组)——c++
    哈夫曼树——c++
  • 原文地址:https://www.cnblogs.com/aeon/p/10106775.html
Copyright © 2011-2022 走看看