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. java裁剪图片

    java裁剪图片保存到指定位置 /** * 图片裁剪通用接口 * * @param src 源图片地址,图片格式PNG * @param dest 目的图片地址 * @param x 图片起始点x坐标 ...

  2. Linux命令详解-man

    man 命令提供有关主题的参考信息,例如命令.子例程和文件.man 命令提供由名称指定的对命令的单行描述.man 命令也提供所有命令的信息,这些命令的描述包含用户指定的关键字集合. 1.命令格式: m ...

  3. bzoj2733: [HNOI2012]永无乡 线段树合并

    永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达另一个岛. ...

  4. 51nod-1055-最长等差数列(dp+优化)

    1055 最长等差数列  基准时间限制:2 秒 空间限制:262144 KB 分值: 80 难度:5级算法题  收藏  关注 N个不同的正整数,找出由这些数组成的最长的等差数列.     例如:1 3 ...

  5. 处理ListView数据为空的情况

    如何处理需要填充的数据为空的情况? ListView及其他继承自AdapterView的类都有一个简便的处理这种情况的方法:setEmptyView(View). 当ListView的Adapter为 ...

  6. Struts2基本使用(三)--数据交互

    Struts2中的数据交互 在Struts2中我们不必再使用request.getParameter()这种方式来获取前台发送到服务器的参数. 我们可以在服务器端的Java类中直接声明一个和前台发送数 ...

  7. 201621123006 《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 结合题集题目7-1回答 1.1 自己以前编写的代码中经常出现 ...

  8. [置顶] HashTable vs HashMap

    转载请注明出处:http://blog.csdn.net/crazy1235/article/details/76686891 HashTable vs HashMap 构造函数 hash函数 syn ...

  9. nodejs通过buffer传递数据到前端,前端通过arraybuffer接收数据

    以后端传送threejs中的点阵数组为例: 后端: let buffer = Buffer.alloc((points.length + 4) * 4) //points.length + 4:预留前 ...

  10. linuxkit 基本试用

    安装 linux go get -u github.com/linuxkit/linuxkit/src/cmd/linuxkit mac brew tap linuxkit/linuxkit brew ...