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

  • 相关阅读:
    UDP通讯demo
    Git 修改已提交的commit注释
    git merge和git merge --no-ff的区别
    git常用命令
    阿里云域名证书申请流程
    IntelliJ IDEA常用快捷键总结
    宿主CentOS7环境下docker中rabbitMQ的安装
    宿主CentOS7环境下docker中nginx的安装
    docker常用命令
    CentOS7环境下docker安装
  • 原文地址:https://www.cnblogs.com/aeon/p/10106775.html
Copyright © 2020-2023  润新知