zoukankan      html  css  js  c++  java
  • Hibernate的查询 HQL查询 查询某几列

    HQL 是Hibernate Query Language的简写,即 hibernate 查询语言:HQL采用面向对象的查询方式。HQL查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询 方式,HQL查询在涵盖Criteria查询的所有功能的前提下,提供了类似标准SQL语句的查询方式,同时也提供了更加面向对象的封装。
     
    在HQL中,你可以直接From你的实体对象来进行查询:
    Java代码 
    /**
     * 简单使用
     */ 
    @SuppressWarnings("unchecked") 
    public static void test1(){ 
        Session session = HibernateSessionFactory.currentSession(); 
        String hql = "from User u"; 
        Query query = session.createQuery(hql); 
        List<User> user = query.list(); 
        System.out.println("------------SQL执行完毕---------------"); 
        for (User us : user) { 
            System.out.println(us.getName()); 
        } 

     
    类的后面可以接别名
     
    如果想单独查询某一列,可以这样使用:
    Java代码 
    /**
     * 查询某列
     */ 
    @SuppressWarnings("unchecked") 
    public static void test2(){ 
        Session session = HibernateSessionFactory.currentSession(); 
        String hql = "select name from User u"; 
        Query query = session.createQuery(hql); 
        List<String> user = query.list(); 
        System.out.println("------------SQL执行完毕---------------"); 
        for (String us : user) { 
            System.out.println(us); 
        } 

     
    如果想查询某几列的话,只是返回的内容不同了而已:
    Java代码 
    /**
     * 查询某几列
     */ 
    @SuppressWarnings("unchecked") 
    public static void test3(){ 
        Session session = HibernateSessionFactory.currentSession(); 
        String hql = "select id,name from User u"; 
        Query query = session.createQuery(hql); 
        List user = query.list(); 
        System.out.println("------------SQL执行完毕---------------"); 
        for(Object obj : user){ 
            Object[] arrObj = (Object[])obj; 
            System.out.println(arrObj[0] + "/t-->/t" + arrObj[1]); 
        } 
    }

  • 相关阅读:
    C# EPPlus 导出Excel
    NetCore +EF+Mysql 从数据库生成实体类到项目
    VBA链接SQL server数据库
    sqlserver中的 binary varbinary image
    sql server DateTime与DateTime2的区别
    Sql Server增删改查字段的语法
    c#中queue的用法
    Sql Server中不相关的两个数据表的全部显示
    IActionResult的返回值类型
    linux内存映射
  • 原文地址:https://www.cnblogs.com/zhwl/p/3208624.html
Copyright © 2011-2022 走看看