hql查询是基于对象的查询,不是基于表的查询。

1.hql的简单查询

    @Test
    public void queryUsers() {
        //简单查询
        SessionFactory sf = null;
        Session s = null;
        Transaction t = null;
        try {
            sf = HibernateUtil.getSessionFactory();
            s = sf.getCurrentSession();
            t = s.beginTransaction();
            Query<User> query = s.createQuery("from User");

            List<User> users = query.list();
            for(User user:users){
                System.out.println(user);
            }
            t.commit();
        }catch(Exception e) {
            if(t!=null) {
                t.rollback();
            }
            e.printStackTrace();
        }
    }

其中“from User”是hql语句,User是实体类User类,而不是User表

此实例测试结果

数据库内容

2.属性查询

@Test
    public void queryUsernames() {
        //属性查询
        SessionFactory sf = null;
        Session s = null;
        Transaction t = null;

        try {
            sf = HibernateUtil.getSessionFactory();
            s = sf.getCurrentSession();
            t = s.beginTransaction();
            Query<User> query = s.createQuery("select u.username from User u");
            List usernames = query.list();

            for(Object username:usernames){
                System.out.println(username);
            }
            t.commit();
        }catch(Exception e) {
            if(t!=null) {
                t.rollback();
            }
            e.printStackTrace();
        }
    }

测试结果

3.实例化查询

@Test
    public void queryNewUser() {
        //实例化查询
        SessionFactory sf = null;
        Session s = null;
        Transaction t = null;

        try {
            sf = HibernateUtil.getSessionFactory();
            s = sf.getCurrentSession();
            t = s.beginTransaction();
            Query<User> query = s.createQuery("select new User(u.id,u.username,u.password,u.sex,u.age) from User u");
            List<User> users = query.list();

            for(User user:users){
                System.out.println(user);
            }
            t.commit();
        }catch(Exception e) {
            if(t!=null) {
                t.rollback();
            }
            e.printStackTrace();
        }
    }

对对象进行实例化

测试结果

第五次作业 hql查询的更多相关文章

  1. Hibernate五 HQL查询

    HQL查询一 介绍1.HQL:Hibernate Query Language,是一种完全面向对象的查询语言.使用Hibernate有多重查询方式可供选择:hibernate的HQL查询,也可以使用条 ...

  2. Hibernate--------八大类HQL查询集合

    Hibernate的   八大类HQL查询集合 Hibernate的八大类HQL查询集合: 一:属性查询(SimplePropertyQuery) 1,单一属性查询 *返回结果集属性列表,元素类型和实 ...

  3. Hibernate5.2之HQL查询

    Hibernate5.2之HQL查询                                                                  一. 介绍 Hibernate的 ...

  4. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  5. J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())

    J2EE进阶(十七)Hibernate中常用的HQL查询方法(getHibernateTemplate())   当我们使用Hibernate进行数据的CRUD操作时,利用模版进行操作不失为一种方法. ...

  6. 17秋 软件工程 团队第五次作业 Alpha 测试报告

    用户反馈博客:17秋 软件工程 团队第五次作业 Alpha 用户反馈 团队项目软件的总体测试计划 测试模块: 用户登录 部门信息模块 活动模块 部员管理模块 短信通知模块 测试计划: 注:测试结果Y代 ...

  7. C#基础第五天-作业答案-用DataTable制作名片集

    .DataTable 实现 DataTable PersonCard = new DataTable(); //创建一个DataTable DataTable PersonCardCopy = new ...

  8. C#基础第五天-作业-用DataTable制作名片集

    1.用DataTable集合去实现名片集.(增加,修改,删除,查询,查询全部)需求:根据人名去(删除/查询).指定列:姓名,年龄,性别,爱好,电话. 本系列教程: C#基础总结之八面向对象知识点总结- ...

  9. Hibernate(九)HQL查询

    一.Hibernate提供的查询方式 OID查询方式:主键查询.通过get()或者load()方法加载指定OID的对象查询结果为一个 HQL查询方式:通过Query接口使用HQL语言进行查询 QBC查 ...

随机推荐

  1. Docker基础教程(常用命令篇)

    1.查看docker信息 # 查看docker版本 $docker version # 显示docker系统的信息 $docker info 2.启动容器 # 交互式 $docker run -it ...

  2. tcp/ip通信中tcp头部结构tcphdrp->check校验计算

    通过raw socket修改通信数据后,可通过函数 set_tcp_checksum1(iph); 重新校验计算iph->check值 在http://www.cnblogs.com/dpf-1 ...

  3. 笨方法学python学习笔记

    创建于:2016-02-29 更新于:03-02 python版本:2.7 %r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符号则是用来向用户展示输出的: 每 ...

  4. jQuery 各类判断函数汇总

    欢迎访问我的github:huanshen,有我的源码解析 常用的判断函数有type,isEmptyObject,isFunction,isWindow,isPlainObject,isArrayli ...

  5. MVC会员注销功能Cookie的应用

    我们实现了<MVC应用程序实现会员登录功能>http://www.cnblogs.com/insus/p/3466512.html 有登录就会有注销功能.此次Insus.NET练习一个MV ...

  6. Spring基础(6) : 普通Bean对象中保存ApplicationContext

    public class Person implements ApplicationContextAware{ ApplicationContext context; public String na ...

  7. easyui datagrid 动态改变行背景色

    /*根据查询条件查询调度单列表*/ function InitGrid(queryData) { $("#dg").datagrid({ loadMsg: "数据加载中, ...

  8. weex stream 之fetch的get、post获取Json数据

    无论何种平台,网络数据的获取都是十分重要的,最近学习weex,不可避免的要学习weex的数据请求方法了.网址 个人感觉,weex stream相较于其他平台,还算比较简单了,但是由于文档以及官方代码中 ...

  9. 【Tomcat】JVM,Tomcat,Servlet,Tomcat中的应用。彻底弄懂这些概念之间的联系

    tomcat和tomcat中的应用(即webapps下的war包)是运行在同一个jvm中的,但分工不同. tomcat的角色是“调度员”,而你的应用的角色是“工作者”,tomcat处理一个请求的大致过 ...

  10. 天天生鲜 - App设计

    天天生鲜-思路数据库设计 天天生鲜-各个App 全文检索 天天生鲜-静态文件 一.项目目录 daily_fresh_demo - daily_fresh_demo - df_cart # 购物车功能 ...