Hibernate中一些简单查询和复杂查询

package com.DAO;

import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.query.Query;
import org.junit.Test;

import com.Entity.User;

public class UserDAO {

	@Test  
	public void testSaveUser(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();			
			User u = new User();
			u.setUsername("����");
			u.setPassword("123");
			u.setAge(45);
			u.setGender("Ů");
			session.save(u);
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	@Test  
	public void testQueryUsers(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			
			Query query = session.createQuery("from User");
			List users = query.list();
			for(int i = 0; i < users.size();i++){
				User user = (User)users.get(i);
				System.out.println(user);
			//	System.out.println(i+"--"+user.getUsername()+" " + user.getPassword() + " " + user.getAge());
			}
			

			
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	
	@Test  
	public void testQueryUser(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			Query query = session.createQuery("from User");
			List users = query.list();
			for(int i = 0; i < users.size();i++){
				User user = (User)users.get(i);
				System.out.println(user);
			}		
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	@Test  
	public void testQueryOneAtrribute(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			User user = session.get(User.class, 3);
			//��ѯ�û����û��������룬����
			
			Query query = session.createQuery("select u.username from User u");
			List usernames = query.list();
			for(int i = 0; i < usernames.size();i++){
				String username = (String)usernames.get(i);
				System.out.println(i+"--"+username);
			}
			
//			List<User> users = query.list();
//			for(User user1 : users)
//			{
//				System.out.println(user1.getUsername()+" " + user1.getPassword() + " " + user1.getAge());
//			}
			
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	@Test  
	public void testQuerySeveralAtrributes(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			User user = session.get(User.class, 3);
			//��ѯ�û����û��������룬����
			
			Query query = session.createQuery("select u.username,u.gender from User u");
			List users = query.list();
			for(int i = 0; i < users.size();i++){
				Object obj[]=(Object []) users.get(i);
				System.out.println(obj[0]+" "+obj[1]);
			}
			
//			List<User> users = query.list();
//			for(User user1 : users)
//			{
//				System.out.println(user1.getUsername()+" " + user1.getPassword() + " " + user1.getAge());
//			}
			
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	
	@Test  
	public void testQuerySeveralAtrributesByExample(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			
			Query query = session.createQuery("select new User(u.username,u.gender) from User u");
			List users = query.list();
			for(int i = 0; i < users.size();i++){
				User user = (User)users.get(i);
				System.out.println(user.getUsername()+" "+ user.getGender() );
			}
			
			
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	@Test  
	public void testStatisticalQuery(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			
			Query query = session.createQuery("select count(*) from User");
			Object count  =  (Object)query.uniqueResult();
		    System.out.println("����"+count+"����¼");
			
		    query = session.createQuery("select avg(u.age) from User u");
			//Object average =(Object)query.uniqueResult();
			Number average =(Number)query.uniqueResult();
			System.out.println("ƽ������Ϊ��"+average);
			
			query = session.createQuery("select max(u.age) from User u");
			//Object average =(Object)query.uniqueResult();
			Number max =(Number)query.uniqueResult();
			System.out.println("���������"+max);

			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	@Test  //��ѯ���������Ļ�����Ϣ
	public void testWhereQuery1(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			Query query = session.createQuery("from User user where (user.gender ='��')");
			
			List users = query.list();
			for(int i = 0; i < users.size();i++){				
				User user = (User)users.get(i);			
				System.out.println(user);			
			}		
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
	
	@Test  //��ѯ����10~30,�����к���'С'��
	public void testWhereQuery2(){
		// TODO Auto-generated method stub
		SessionFactory sf = null;		
		Session session = null;
		Transaction ts = null;
		
		try {
  			sf = HibernateUtil.getSessionFactory();
			session = sf.getCurrentSession();
			ts = session.beginTransaction();
			Query query = session.createQuery("from User u where (u.username like '%С%') and (u.age between 10 and 30)");
			
			List users = query.list();
			for(int i = 0; i < users.size();i++){				
				User user = (User)users.get(i);			
				System.out.println(user);			
			}		
			ts.commit();
		} catch (HibernateException e) {
			// TODO Auto-generated catch block
			if(ts != null)
			{
				ts.rollback();
			}
			e.printStackTrace();
		}
	}
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值