zoukankan      html  css  js  c++  java
  • Hibernate查询方式

    Hibernate查询方式

    1 OID查询

    (1)根据id查询某一条记录,返回对象

    2 对象导航查询

    (1)根据id查询某个公司,再查询这个公司里面所有的员工

     

    Company c=session.get(Company.class, 1);
            Set<Worker> set=    c.getWorkers();
            for (Worker worker : set) {
                System.out.println(worker.getWname()+" "+worker.getWid());
            }

    3 HQL查询

    (1)Query对象,写hql语句实现查询

    1 hql:hibernate query language,hibernate提供一种查询语言,hql语言和普通sql很相似,区别:普通sql操作数据库表和字段,hql操作实体类和属性

    (2) 常用的hql语句

    a、查询所有: from 实体类名称

    b、条件查询: from 实体类名称 where 属性名称=?

    c、排序查询: from 实体类名称 order by 实体类属性名称 asc/desc(倒序排列)

    (3)使用hql查询操作时候,使用Query对象

    a、创建Query对象,写hql语句

    b、调用query对象里面的方法得到结果

    例:查询所有

      

      1 查询所有客户记录

      (1)创建Query对象,写hql语句

      (2)调用query对象里面的list方法得到结果

    Query query=session.createQuery("from Company");
                List<Company> list=query.list();

      条件查询

      

    hql条件查询语句写法:

    1  from  实体类名称 where 实体类属性名称=? and实体类属性名称=?

    2  from  实体类名称 where 实体类属性名称 like ?

       3  from  实体类名称 where 实体类属性名 like  ‘%百’ 是单引号

    1 明确条件查询

    Query query=
    
    session.createQuery("from Company where cid=?and cname=?");
    
          query.setParameter(0, 1);
    
          query.setParameter(1,"百度");
    
          List<Company> list=query.list();

     

    模糊条件查询

    Query query=
    
    session.createQuery("from Company where cname like ?");
    
    query.setParameter(0, "百%");
    
       List<Company> list=query.list();

      排序查询

      1 hql排序语句写法

      (1)from 实体类名称 order by 实体类属性名称 asc/desc(desc为倒叙)

    Query query=
    
    session.createQuery("from Company order by cid desc");  
    
    List<Company> list=query.list();
    
     

      投影查询

      

    1 投影查询:查询表中部分字段的值

    2 投影查询hql语句写法:

    (1)select 实体类属性名称1, 实体类属性名称2  from 实体类名称

    (2)注意:  select 后面不能写 * ,不支持的

    3 具体实现

    Query query=
    
    session.createQuery("select cname from Company ");      
    
       List<String> list=query.list();

    2 查询所有: from 实体类名称

    4 QBC查询

    (1)Criteria对象

    5 本地sql查询

    (1)SQLQuery对象,使用普通sql实现查询

  • 相关阅读:
    javaweb学习总结(二十一)——JavaWeb的两种开发模式
    javaweb学习总结(二十)——JavaBean总结
    javaweb学习总结(十九)——JSP标签
    javaweb学习总结(十八)——JSP属性范围
    JavaWeb学习总结(十七)——JSP中的九个内置对象
    javaweb学习总结(十六)——JSP指令
    javaweb学习总结(十五)——JSP基础语法
    javaweb学习总结(十四)——JSP原理
    JavaWeb学习总结(十三)——使用Session防止表单重复提交
    JavaWeb学习总结(十二)——Session
  • 原文地址:https://www.cnblogs.com/ncl-960301-success/p/7542455.html
Copyright © 2011-2022 走看看