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. 数据模板--DataTemplate

    DataTemplate 的 "DataType" 通常就是 “ViewModel” ——视图模型(亦可不恰当称之为:数据模型) <DataTemplate DataType ...

  2. 《高级Web应用程序设计》课程学习(20170911)

    一.课程内容 本学期课件,点击查看 二.作业相关 上交作业的方法 访问ftp://192.168.42.254:22,登录后找到自己的姓名文件夹,放入作业即可.登录账号为stu1,密码为空 作业列表, ...

  3. 剑指 offer面试题20 顺时针打印矩阵

    [题目描述] 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1, ...

  4. 牛客网——E进阶吧阶乘

    链接:https://www.nowcoder.net/acm/contest/75/E来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32768K,其他语言65536K ...

  5. asp.net(c#)开发中的文件上传组件uploadify的使用方法(带进度条)

    上文件传很常见,现在就文件上传利用HTML的File控件(uploadify)的,这里为大家介绍一下(uploadify)的一些使用方法.在目前Web开发中用的比较多的,可能uploadify(参考h ...

  6. LNMP架构下的nginx、mysql、php的源码安装

    一.LNMP的介绍 LNMP就是Linux+Nginx+Mysql+Php这种网站服务架构.Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统,常见版本有:centos.ubun ...

  7. WebGL编程指南案例解析之绘制一个点

    <!DOCTYPE html> <html> <head> <title>webgl</title> <style type=&quo ...

  8. Google Flutter框架:使用VS Code进行开发

    虽然进行安卓开发使用Android studio 比较方便 ,但是因为AS太臃肿而且还有一些404问题,就在打算如何进行高效的Android开发,于是找到了Flutter SDK, 他支持使用IDE进 ...

  9. 本地代码同步到github

    1 设置 ssh 公钥信息 首先你要确保 github 账号设置了ssh 公钥信息.如果没有的话可以按照下面的方式设置: 前往 github 网站的 account settings, 依次点击 Se ...

  10. 两种Service如何一起使用

    1.先是调用startservice来开启服务,并在且在后台一起运行. 2.在调用bindservice,获取中间对象. 3.unbindservice解绑服务. 4.最后在调用stopservice ...