• 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 || 点返回首页

  • 相关阅读:
    金蝶用户组权限语句
    金蝶物料更改保质期控制状态
    cisco+pppoe拨号配置教程
    FormFile上传文件代码(修改)
    试用django 和 rgraph 简单记录
    一闪而过的远程桌面
    用 python matplotlib 画图 简单记录
    去除UTL_FILE导致的ORA12012 ORA04068 ORA04063 ORA06508
    python mysqldb模块安装
    canvas绘制圆形
  • 原文地址:https://www.cnblogs.com/aeon/p/10106775.html
Copyright © 2020-2023  润新知