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. Object.assign()是浅拷贝

    浅拷贝: 复制的值指向同一个内存地址 深拷贝:复制的值指向新的内存地址 var a = { xm: { name: 'xiaoming' } } var b = Object.assign({}, a ...

  2. Leetcode 15

    //用类似双指针的方法,确定第一个i的位置后,j和k向左向右移动使nums[j]+nums[k] = -nums[i];注意特判 class Solution { public: vector< ...

  3. 牛客网——F小牛再战(博弈,不懂)

    链接:https://www.nowcoder.net/acm/contest/75/F来源:牛客网 题目描述 共有N堆石子,已知每堆中石子的数量,两个人轮流取石子,每次只能选择N堆石子中的一堆取一定 ...

  4. ARIMA模型——本质上是error和t-?时刻数据差分的线性模型!!!如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数

    https://www.cnblogs.com/bradleon/p/6827109.html 文章里写得非常好,需详细看.尤其是arima的举例! 可以看到:ARIMA本质上是error和t-?时刻 ...

  5. BZOJ3427 Poi2013 Bytecomputer

    可以YY一下嘛= = 最后一定是-1, -1, ..., -1, 0, 0, ... 0, 1, 1, ..., 1的一个数列 于是f[i][j]表示到了第i个数,新数列的第j项为-1 or 0 or ...

  6. laravel中资源路由的控制器创建方法:

    php artisan make:controller Admin\ArticleController --resource 上面的创建方法是,创建控制器文件夹下的Admin文件下的ArticleCo ...

  7. L178 smart meter watchdog

    There is "no realistic prospect" of the government meeting its own deadline to install sma ...

  8. Mysql5.7的gtid主从半同步复制和组复制

    (一)gtid主从半同步复制 一.半同步复制原理 mysql默认的复制是异步的,主库在执行完客户端提交的事务后会立即将结果返回给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主库如果cr ...

  9. java日常知识点积累

    java类型中的普通非static方法 示例代码: package com.lvzhi; /** * Created by lvzhi on 2017/9/3 */ public class MyTh ...

  10. js:关闭当前页面

    var userAgent = navigator.userAgent; if (userAgent.indexOf("Firefox") != -1 || userAgent.i ...