• Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题


    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]); 
        } 

    Java代码 
    /**
     * 查询一条数据
     */ 
    @SuppressWarnings("unchecked") 
    public static void test3(){ 
        Session session = HibernateSessionFactory.currentSession(); 
        String hql = " from User u"; 

      List list=session.createQuery(hql).setString(0, id).list(); 

      //User user =(User) query.uniqueResult(); //当确定返回的实例只有一个或者null时 用uniqueResult()方法

      if (list.size()==1){  
             return (User)list.get(0);  
         }else{  
             return null;  
         } 

  • 相关阅读:
    二、Spring Cloud 之旅 -- Eureka 微服务的发布与调用
    一、Spring Cloud项目搭建
    intellij 破解
    Koa.js 2.x 学习笔记
    MongoDB 学习笔记
    在github上部署静态网页
    vue绑定值与字符串拼接两种写法
    Vue的生命周期及其相应的三个阶段解读
    element-ui 报错 Invalid prop: custom validator check failed for prop "index"
    StyleLint 使用指南
  • 原文地址:https://www.cnblogs.com/itcui/p/5749382.html
Copyright © 2020-2023  润新知