1、初始数据

@Test
public void test01() {
Session session = null; try {
session = HibernateUtil.getSessionFactory().openSession(); session.beginTransaction(); for (int i = 0; i < 100; i++) {
book entity = new book();
entity.setBookCode("book-code-" + i);
entity.setBookname("book-name" + i);
entity.setPrice(i);
session.save(entity);
}
session.getTransaction().commit();
} catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
}

  

2、查询对象

@Test
public void test02() {
Session session = null;
// form 对象名 非 表名
String sql = " from book ";
try {
session = HibernateUtil.getSessionFactory().openSession(); Query query = session.createQuery(sql);
List<book> list = (List<book>) query.list(); for (book b : list) {
System.out.println(b);
} } catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
}

  

3、查询单字段

@Test
public void test03() {
/*
* 查询单字段
*/
Session session = null; String sql = " select bookname from book ";
try {
session = HibernateUtil.getSessionFactory().openSession(); Query query = session.createQuery(sql);
List<String> list = (List<String>) query.list(); for (String b : list) {
System.out.println(b);
} } catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
}

  

4、查询指定字段

	@Test
public void test04() {
/*
* 查询多字段,且指定条数Object[]
*/
Session session = null; String sql = " select bookname,bookCode from book ";
try {
session = HibernateUtil.getSessionFactory().openSession(); Query query = session.createQuery(sql);
// 指定5条
query.setMaxResults(5);
List<Object[]> list = (List<Object[]>) query.list(); for (Object[] b : list) {
System.out.println(b[0] + "," + b[1]); } } catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
}

  

5、返回Map对象

@Test
public void test05() {
/*
* 查询多字段,且指定Map
*/
Session session = null; String sql = " select new Map(bookname,bookCode) from book ";
try {
session = HibernateUtil.getSessionFactory().openSession(); Query query = session.createQuery(sql); query.setMaxResults(5);
List<Map> list = (List<Map>) query.list(); for (Map b : list) { System.out.println((String) b.get("0") + ","
+ (String) b.get("1"));
} } catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
}

  

6、序列化参数

6.1、

@Test
public void test06() { Session session = null; String sql = " select bookname,bookCode from book where book_id>:book_id and price>:price";
try {
session = HibernateUtil.getSessionFactory().openSession(); Query query = session.createQuery(sql);
query.setInteger("book_id", 5);
query.setDouble("price", 5);
// Hibernate: select book0_.bookname as col_0_0_, book0_.bookCode as
// col_1_0_ from t_book book0_ where book0_.book_id>? and
// book0_.price>?
List<Object[]> list = (List<Object[]>) query.list(); for (Object[] b : list) {
System.out.println(b[0] + "," + b[1]);
} } catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
}

  

6.2、

@Test
public void test07() { Session session = null; String sql = " select bookname,bookCode from book where book_id>:book_id and price>:price";
try {
session = HibernateUtil.getSessionFactory().openSession(); Query query = session.createQuery(sql);
query.setInteger(0, 5);
query.setDouble(1, 5);
// Hibernate: select book0_.bookname as col_0_0_, book0_.bookCode as
// col_1_0_ from t_book book0_ where book0_.book_id>? and
// book0_.price>?
List<Object[]> list = (List<Object[]>) query.list(); for (Object[] b : list) {
System.out.println(b[0] + "," + b[1]);
} } catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
}

  

7、执行SQL

@Test
public void test08_jdbc() {
Session session = null;
//Rhythmk
String sql = " select bookCode,bookname from t_book where book_id>? and price>?";
try {
session = HibernateUtil.getSessionFactory().openSession(); SQLQuery query = session.createSQLQuery(sql);
query.setInteger(0, 5);
query.setDouble(1, 5); List<Object[]> list = (List<Object[]>) query.list();
for (Object[] b : list) {
System.out.println(b[0] + "," + b[1]);
} } catch (HibernateException e) { e.printStackTrace();
} finally {
if (session != null)
session.close();
}
} }

  http://pan.baidu.com/s/1hqGDNq0

Rhythmk 学习 Hibernate 09 - Hibernate HQL的更多相关文章

  1. [原创]java WEB学习笔记89:Hibernate学习之路-- -Hibernate检索方式(5种),HQL介绍,实现功能,实现步骤,

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  2. Rhythmk 学习 Hibernate 06 - Hibernate 表间关系 [One To One]

    1.One To One 单相 背景: 古代一个老婆  只能关联一个老公 husband.java package com.rhythmk.model; public class husband { ...

  3. [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  4. Hibernate的查询 HQL查询 查询某几列

    HQL 是Hibernate Query Language的简写,即 hibernate 查询语言:HQL采用面向对象的查询方式.HQL查询提供了更加丰富的和灵活的查询特性,因此Hibernate将H ...

  5. 学习ORM框架—hibernate(三):跟踪持久化对象状态,掌握对象持久化

    准备工作 在上篇博客中学习ORM框架—hibernate(一):初识hibernate,通过简单的实例说明O和R的映射过程.本篇博客将要介绍hibernate中持久化对象的状态,并使用hibernat ...

  6. Hibernate基础学习(一)—初识Hibernate

    一.对象的持久化 狭义的理解: 持久化仅仅指把对象永久的保存到数据库中. 广义的理解: 持久化包括和数据库相关的各种操作.         保存: 把对象永久保存到数据库中.         更新: ...

  7. Hibernate中关于HQL查询返回List<Object>数据的结果集问题

    ---恢复内容开始--- 开发中遇到的一个小问题,使用Hibernate中的HQL查询时,使用query.list()查询出来的是一个List<Object>结果集 原来代码: publi ...

  8. Hibernate学习一:Hibernate注解CascadeType

    http://zy19982004.iteye.com/blog/1721846 ———————————————————————————————————————————————————————— Hi ...

  9. 【Hibernate步步为营】--hql查询小介

    HQL 是指Hibernate Query Language,它是Hibernate的查询语言,拥有一套自己的查询机制,它的查询语句和SQL非常类似.在使用的时候可以非常快上手.HQL提供了基本上SQ ...

随机推荐

  1. linux shell执行原理

    shell简介 Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行. 运行背景 a 一个基本的linux系统结构 b.由上图可以看出,shel ...

  2. bzoj1854: [Scoi2010]游戏 贪心

    lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的某一个属性.并且每种装备最多只能使 ...

  3. trello 项目管理开启卡片图片显示

    /********************************************************************************* * trello 项目管理开启卡片 ...

  4. Jmeter-Interleave Controller(交替控制器)

    名称: 注释: ignore sub-controller blocks: If checked, the interleave controller will treat sub-controlle ...

  5. BZOJ5125: [Lydsy1712月赛]小Q的书架【决策单调性优化DP】【BIT】【莫队】【分治】

    小Q有n本书,每本书有一个独一无二的编号,现在它们正零乱地在地上排成了一排. 小Q希望把这一排书分成恰好k段,使得每段至少有一本书,然后把每段按照现在的顺序依次放到k层书架的每一层上去.将所有书都放到 ...

  6. 《DSP using MATLAB》Problem 2.5

    2.代码: %% ------------------------------------------------------------------------ %% Output Info abo ...

  7. web程序1

  8. System.Drawing.Drawing2D.LinearGradientBrush

    https://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.lineargradientbrush(v=vs.110).aspx ...

  9. 全面剖析Smarty缓存机制一[三种缓存方式]

    今天主要全面总结下Smarty模板引擎中强大的缓存机制,缓存机制有效减少了系统对服务器的压力,而这也是很多开发者喜欢Smarty的原因之一,由于篇幅较大,便于博友阅读,这篇文章将剖析Smarty缓存的 ...

  10. std::function与std::bind 函数指针

    function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时. std::function可以绑定到全局函数/类静态成员 ...