zoukankan      html  css  js  c++  java
  • Rhythmk 学习 Hibernate 09

    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

  • 相关阅读:
    OpenGL纹理映射总结
    研究生常用网站:
    Oracle 11g,10g数据库软件下载地址
    <转>乔布斯羡慕嫉妒恨的人:Android之父安迪·鲁宾
    VC6里面的中文名字或者注释复制乱码解决
    基于CentOs的Hadoop集群全分布式部署<转>
    centos架设FTP服务器
    centos 卸载 jdk
    ESX的 企业版许可证
    vsftpd的 553 Could not create file
  • 原文地址:https://www.cnblogs.com/rhythmK/p/3722043.html
Copyright © 2011-2022 走看看