亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Oracle:HQL:實用技術

標簽:
Oracle

HQL:实用技术
一:使用HQL语句

  1. Hibernate支持三种查询方式:
    (1.)HQL查询,Criteriac查询及原生SQL(Native SQL)查询。HQL(Hibernate Query Language,Hibernate查询语言)是一种面向对象的查询语言,其中没有表和字段的概念,只有类对象,属性的概念。
    二:编写HQL语句
  2. From子句
    Select子句
    Where子句
    使用表达式
    Order by 子句:示例:升序排序:from Emp order by hireDate salary desc;
  3. 执行HQL语句的步骤:
    获取Session 对象
    编写HQL语句
    创建Query对象:Query query =session.oreateQuery(?);
    执行查询,得到查询结果
    三:在SQL语句中绑定参数
  4. 按位置绑定参数
    Query query=session.createQuery(“from Emp where job=? And salary>?”);
  5. 按参数名绑定
    Query query=session.createQuery(“from Emp where job=:empJob and salary>:empSalary”);
  6. 绑定各种类型的参数:Query接口提供
    (1.)setBoolean();
    (2.)setByte();
    (3.)setDouble();
    (4.)setDate();
    (5.)setString();
    (6.)setParameter();用来绑定任意类型。
    (7.)setProperties();用来绑定参数与一个对象的属性值。
    4.使用uniqueResult()方法获取唯一结果
    四:分页和投影
  7. 实现数据分页查询
    通过Query接口的setFirstResult(int firstResult)方法和setMaxResults(int maxResults)方法实现。分别返回最大和最小记录。
  8. 使用投影查询
    *每条查询结果仅包含一个结果列:
    Public List<String>findAllNames(){
    String hql=”select deptName from Dept”;
    Return currentSession().createQuery(?).list();//省略其它内容
    }

*查询每条结果包含不止一个结果列:
Public List<String>findAllNames(){
String hql=”select deptNo,deptName from Dept”;
Return currentSession().createQuery(?).list();//省略其它内容
}

*将每条查询结果通过构造方法封装成对象
Public class DeptDao extends BaseDao{
//要求Dept类中有Dept(Byte deptNo,String deptName)和Dept()构造方法
Public List<Dept> findAllDeptList(){
String hql=”select new Dept(deptNo,deptName)from Dept”;
Return currentSession().createQuery(?).list();//省略其它内容
}
}

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
JAVA開發工程師
手記
粉絲
40
獲贊與收藏
344

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消