01.搭建开发环境

02.基本查询

package com.gordon.test;

import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.List; import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test; import com.gordon.domain.Book;
import com.gordon.utils.HibernateUtil; public class TestDemo1 { /**
* 分组查询
* 查询结果:
Hibernate:
select
publisher1_.name as col_0_0_,
count(*) as col_1_0_
from
t_book book0_,
t_publisher publisher1_
where
book0_.publisher_id=publisher1_.id
group by
book0_.publisher_id
[电子工业出版社, 3]
[北京大学出版社, 2]
[人民邮电出版社, 2]
*/
@Test
public void run5() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); List<Object[]> list = session.createQuery("select b.publisher.name, count(*) from Book b group by b.publisher").list();
for (Object[] book : list) {
System.out.println(Arrays.toString(book));
} transaction.commit();
} /**
* 聚合函数
* 查询结果:
Hibernate:
select
count(*) as col_0_0_
from
t_book book0_
Hibernate:
select
sum(book0_.price) as col_0_0_
from
t_book book0_
Hibernate:
select
max(book0_.price) as col_0_0_,
min(book0_.price) as col_1_0_
from
t_book book0_
Hibernate:
select
avg(book0_.price) as col_0_0_
from
t_book book0_
count: 7
sum: 330.04
Max:70.00 Min:31.00
avg: 47.15
*/
@Test
public void run4() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); String count = "select count(*) from Book";
Long c = (Long) session.createQuery(count).uniqueResult(); String sum = "select sum(b.price) from Book b";
Double s = (Double) session.createQuery(sum).uniqueResult(); String maxmin = "select max(b.price), min(b.price) from Book b";
Object[] mm = (Object[]) session.createQuery(maxmin).uniqueResult(); String avg = "select avg(b.price) from Book b";
Double a = (Double) session.createQuery(avg).uniqueResult(); DecimalFormat df = new DecimalFormat("00.00"); System.out.println("count: " + c);
System.out.println("sum: " + df.format(s));
System.out.println("Max:" + df.format(mm[0]) + " Min:" + df.format(mm[1]));
System.out.println("avg: " + df.format(a)); transaction.commit();
} /**
* 检索图书对象的部分属性
* 查询结果
Hibernate:
select
book0_.name as col_0_0_,
book0_.price as col_1_0_
from
t_book book0_
order by
book0_.price desc
[云计算技术及性能优化, 70.0]
[架构探险:轻量级微服务架构(下册), 63.2]
[中国冰雪梦, 54.0]
[生产微服务 , 44.0]
[VisualBasic2015实践教程 , 36.0]
[Photoshop图形图像处理, 31.84]
[C语言程序设计, 31.0]
*/
@Test
public void run3() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); List<Object[]> list = session.createQuery("select b.name, b.price from Book b order by b.price desc").list();
for (Object[] book : list) {
System.out.println(Arrays.toString(book));
} transaction.commit();
} /**
* 对查询结果进行排序
* 查询结果:
Hibernate:
select
book0_.id as id1_0_,
book0_.name as name2_0_,
book0_.price as price3_0_,
book0_.publisher_id as publishe4_0_
from
t_book book0_
order by
book0_.price desc
70.0, 云计算技术及性能优化
63.2, 架构探险:轻量级微服务架构(下册)
54.0, 中国冰雪梦
44.0, 生产微服务
36.0, VisualBasic2015实践教程
31.84, Photoshop图形图像处理
31.0, C语言程序设计
*/
@Test
public void run2() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); List<Book> list = session.createQuery("from Book b order by b.price desc").list();
for (Book book : list) {
System.out.println(book.getPrice() + ", " + book.getName());
} transaction.commit();
} /**
* 查询所有图书
* 查询结果:
Hibernate:
select
book0_.id as id1_0_,
book0_.name as name2_0_,
book0_.price as price3_0_,
book0_.publisher_id as publishe4_0_
from
t_book book0_
云计算技术及性能优化
C语言程序设计
中国冰雪梦
Photoshop图形图像处理
VisualBasic2015实践教程
生产微服务
架构探险:轻量级微服务架构(下册)
*/
@Test
public void run1() {
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction(); List<Book> list = session.createQuery("from Book").list();
for (Book book : list) {
System.out.println(book.getName());
} transaction.commit();
}
}

Hibernate- 基本查询的更多相关文章

  1. hibernate模糊查询

    hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...

  2. Hibernate的查询方式总结

    Hibernate的查询方式大体有三种,分别是HQL QBC和SQL三种.在网上查阅一一些资料,做了一个简单的总结. 1. SQL sql 是面向数据库表查询,from 后面跟的是表名,where 后 ...

  3. atitit。 hb Hibernate sql 查询使用

    atitit. hb  Hibernate sql 查询使用 #----------返回list<map>法..这个推荐使用.      q.setResultTransformer(Tr ...

  4. Hibernate高级查询QBC条件设置——Restrictions用法 引自:http://www.cnblogs.com/evon168/archive/2010/10/29/1863059.html

    方法说明 方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge ...

  5. Hibernate HQL查询:

    Hibernate HQL查询:Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查 ...

  6. Hibernate HQL查询语句总结

    Hibernate HQL查询语句总结 1. 实体查询:有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子:String hql="from User user ";L ...

  7. Hibernate的查询,二级缓存,连接池

    Hibernate的查询,二级缓存,连接池 1.Hibernate查询数据 Hibernate中的查询方法有5中: 1.1.Get/Load主键查询 使用get或者load方法来查询,两者之间的区别在 ...

  8. hibernate sql查询转换成VO返回list

    hibernate sql查询转换成VO @Override public List<FenxiVo> getTuanDuiFenxiList(FenxiVo FenxiVo,Intege ...

  9. Struts2学习笔记NO.1------结合Hibernate完成查询商品类别简单案例(工具IDEA)

    Struts2学习笔记一结合Hibernate完成查询商品类别简单案例(工具IDEA) 1.jar包准备 Hibernate+Struts2 jar包 struts的jar比较多,可以从Struts官 ...

  10. Hibernate【查询、连接池、逆向工程】

    前言 在Hibernate的第二篇中只是简单地说了Hibernate的几种查询方式....到目前为止,我们都是使用一些简单的主键查询阿...使用HQL查询所有的数据....本博文主要讲解Hiberna ...

随机推荐

  1. Android学习系列(5)--App布局初探之简单模型

    人类科技的进步源自探索,探索来自于发现本原,当然App布局没这么先进,本文也只是一个归类总结.这篇文章是Android开发人员的必备知识,是我特别为大家整理和总结的,不求完美,但是有用. Androi ...

  2. Python学习笔记014——生成器Generator

    1 生成器定义 在Python中,一边循环一边计算的机制,称之为生成器(generator). 生成器是一个迭代器. 含有yield语句的函数是生成器函数,该函数被调用时返回一个生成器对象(yield ...

  3. Android判断当前网络是否可用--示例代码

    Android判断当前网络是否可用--示例代码 分类: *07 Android 2011-05-24 13:46 7814人阅读 评论(4) 收藏 举报 网络androiddialogmanagern ...

  4. Linux内核中锁机制之内存屏障、读写自旋锁及顺序锁

    在上一篇博文中笔者讨论了关于原子操作和自旋锁的相关内容,本篇博文将继续锁机制的讨论,包括内存屏障.读写自旋锁以及顺序锁的相关内容.下面首先讨论内存屏障的相关内容. 三.内存屏障 不知读者是是否记得在笔 ...

  5. Python rsplit() 方法

    描述 Python rsplit() 方法通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格.换行(\n).制表符(\t)等.类似于 split() 方法,只不过是从字符串 ...

  6. spring boot几个初始配置文件

    一.gradle // https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp compile group: 'com.square ...

  7. C# POST与参数的字符串格式

    参数拼接方法:&  类似url参数.然后转化为字节型 string postdate = "Submit=" + Submit + "&dopost=&q ...

  8. 如何用Latex合并多个pdf文件?

    如何用Latex合并多个pdf文件?   用TeX合并pdf, 用LaTeX合并pdf 代码: \documentclass[a4paper]{article} \usepackage{pdfpage ...

  9. 帆软报表和jeecg的进一步整合--ajax给后台传递map类型的参数

    下面是页面代码: <%@ page language="java" contentType="text/html; charset=UTF-8" page ...

  10. Linux上添加新硬盘的实例介绍

    在Linux上添加新硬盘的实例讲解,有需要的朋友可以看看. 系统:Redhat AS3 UP3硬盘:scsi注意:# 表示是root用户执行的命令 [root@cncmail data1]# fdis ...