zoukankan      html  css  js  c++  java
  • Hibernate- 基本查询

    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();
    	}
    }
    
  • 相关阅读:
    【JSP】jQuery Deferred exception successed is not defined
    onclick事件传递变量参数&拼接字符串
    JQuery
    设计模式
    拖拽-原型继承案例
    继承
    原型
    闭包
    promise
    jsonp
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/7418197.html
Copyright © 2011-2022 走看看