zoukankan      html  css  js  c++  java
  • HQL 实用技术

     1.Hibernate查询方式
       1.get|load(class,id):OID查询
       2.HQL(Hibernate Query Lanage):HQL查询
       3.QBC(Query By Criteria):Criteria查询
       4.原生SQL查询(Native Sql):使用Hibernate来执行sql语句
       5.命名查询:在映射文件中定义字符串形式的查询语句
    2.Hibernate查询操作
         2.1、HQL:(update delete select)
         HQL查询示例:
         1.获得Session
         Session session = HibernateSessionFactory.getSession();
         2.编写hql
         String hql = "from Dept";
         3.通过Session创建Query对象
         Query query = session.createQuery(hql);
         4.通过Query对象执行hql查询
         List<Dept> list = query.list();
         for(Dept dept:list){
         System.out.println(dept.getDname());
         }
         5.关闭Session
         session.close();
         eg:
         1.不带条件查询
         String hql = "from Book"
         Query query = session.createQuery(hql);
         2.带条件查询
         String hql = "from Book where bookName=?"
         Query query = session.createQuery(hql);
         query.setString(0,"Oracle");
         query.setParameter(0,"Oracle");
         3.投影查询
         3.1:只查询对象的某个属性 封装指定类型集合
         Query query = session.createQuery("select name from Users");
         List<String> names = query.list();
         3.2:查询对象的多个属性  封装Object数组集合
         Query query = session.createQuery("select name,pwd from Users");
         List<Object[]> users = query.list();
         3.3:查询对象的多个属性 封装成对象 在pojo中提供相应的构造函数
         Query query = session.createQuery("select new Users(name,pwd) from Users");
         List<Users> users = query.list();
         4、查询绑定参数的方式
          按参数位置绑定  
         根据数据类型使用set方法(下标,参数值)
          按参数名绑定
         使用setParameter(参数名,参数值)
          使用对象作为方法参数进行查询
         setProperties(对象名);
         
     
  • 相关阅读:
    Java 堆和栈 垃圾回收 2015/9/16
    多态 Java 2015/9/16
    学校项目过程中知识点 Java 2015/9/15 晚
    Python print输出不换行
    Windows 加载EXT分区
    RouterOS 安全模式
    RouterOS Openswan l2tp ipsec
    RouterOS 自动邮件备份脚本
    python chnroutes ROS版
    Kinect 2.0&Speech 11 中文语音控制
  • 原文地址:https://www.cnblogs.com/QQW-HH/p/7642832.html
Copyright © 2011-2022 走看看