⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 objectdaoimpl.java

📁 人力资源管理系统
💻 JAVA
字号:
package org.HumResManSys.dao.impl;
import java.util.List;
import org.HumResManSys.dao.ObjectDAO;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.Query;
import org.hibernate.Criteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Example;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class ObjectDAOImpl extends HibernateDaoSupport implements ObjectDAO{
//	private HibernateSessionFactory hibernateSessionFactory
//	                  =new HibernateSessionFactory();
	private org.hibernate.SessionFactory sessionFactory;
	private final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>(); 
	private Session session;
	private Object object;
	
	public ObjectDAOImpl(){
	}
	public ObjectDAOImpl(Object object){
		this.object=object;
	}
	
//	查找所有对象	
	public  List queryAllObjects(){
		List list=null;
		try{
			//获得session
			  session=this.getCurrentSession();
			//打开事务处理
			Transaction transaction=session.beginTransaction();
			//利用Criteria查询
			Criteria criteria=session.createCriteria(object.getClass());
			list=criteria.list();
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryAllObject error\n");
		}finally{
			
		}
		return list;
	}
	
//	查找所有对象,返回时按ID排序	
	public  List queryAllObjectsOrderByID(){
		List list=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			Criteria criteria=session.createCriteria(object.getClass());
			//查询结果按ID排序
			criteria.addOrder(Order.asc("id"));
			list=criteria.list();
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryAllObjectOrderByID error\n");
		}finally{
			
		}
		return list;
	}
//	查找所有对象,返回时按条件排序	
	public  List queryAllObjectsOrderByCondition(String condition){
		List list=null;
		String HQL=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			Criteria criteria=session.createCriteria(object.getClass());
			if(!"".equals(condition)){
				criteria.addOrder(Order.asc(condition));
			}
			list=criteria.list();
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryAllObjectsOrderByCondition error\n");
		}finally{
			
		}
		return list;
	}
	
  //按ID查找对象	 
	public  Object queryOneObjectByID(String id){
		List list=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			
			Criteria criteria=session.createCriteria(object.getClass());
			if(!"".equals(id.trim())){
			//添加查询条件
			   criteria.add(Restrictions.eq("id", id));
			}
			list=criteria.list();
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryOneObjectByID error\n");
		}finally{
			
		}
		return list.get(0);
	}
	
	  //按条件查找一个对象	 
	public  Object queryOneObjectByCondition(String conditionName,String conditionValue){
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			//添加查询条件
			Criteria criteria=session.createCriteria(object.getClass());
//			if(!"".equals(conditionName.trim())&&!"".equals(conditionValue.trim())){
			   criteria.add(Restrictions.eq(conditionName, conditionValue));
//			}
//			System.out.println("from "+object.getClass().getName()+" where "+conditionName+" = '"+conditionValue+"'");
//			Query query=session.createQuery("from "+object.getClass().getName()+" where "+conditionName+" = '"+conditionValue+"'");
			
			object=criteria.list().get(0);
			transaction.commit();
		}catch(Exception e){
			e.printStackTrace();		
			System.out.print("DAO queryObjectsByCondition error\n");
		}finally{
			
		}
		return object;
	}
	
  //按属性查找对象	
	public  List queryObjectsByCondition(String conditionName,String conditionValue){
		List list=null;
		String HQL=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			//添加查询条件
			Criteria criteria=session.createCriteria(object.getClass());
			if(!"".equals(conditionName.trim())&&!"".equals(conditionValue.trim())){
			   criteria.add(Restrictions.eq(conditionName, conditionValue));
			}
			list=criteria.list();
			transaction.commit();
		}catch(Exception e){
			e.printStackTrace();		
			System.out.print("DAO queryObjectsByCondition error\n");
		}finally{
			
		}
		return list;
	}
  //按ID查找对象,返回List	 
	public  List queryOneObjectByIDReturnList(String id){
		List list=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			Criteria criteria=session.createCriteria(object.getClass());
			if(!"".equals(id.trim())){
			   criteria.add(Restrictions.eq("id", id)).addOrder(Order.asc("id"));
			}

			list=criteria.list();
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryOneObjectByIDReturnList error\n");
		}finally{
			
		}
		return list;
	}
  //按实体类来查找对象
	public List queryObjectsByEntity(Object object){
		List list=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			Example example=Example.create(object).excludeZeroes();
			list=session.createCriteria(object.getClass()).add(example).list();
			transaction.commit();
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryOneObjectByEntity error\n");
		}finally{
			
		}
		return list;
	}
//	按实体类来查找对象,忽略各个属性的大小写,返回List
	public List queryObjectsByEntityIgnoreCase(Object object){
		List list=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			Example example=Example.create(object).ignoreCase().excludeZeroes();
			list=session.createCriteria(object.getClass()).add(example).list();
			transaction.commit();
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryOneObjectByEntityIgnoreCase error\n");
		}finally{
			
		}
		return list;
	}
//	按实体类来查找对象,各个属性模糊查找,返回List
	public List queryObjectsByEntityEnableLike(Object object){
		List list=null;
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			Example example=Example.create(object).excludeZeroes().ignoreCase().enableLike(MatchMode.ANYWHERE);
			list=session.createCriteria(object.getClass()).add(example).list();
			transaction.commit();
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryOneObjectByEntityEnableLike error\n");
		}finally{
			
		}
		return list;
	}
	//分页查询,查询结果按Id排序
	public List queryObjectsByPageOrderById(int firstResult,int maxResults){
		List list=null;
		try{
		    session=this.getCurrentSession();
		    Transaction transaction=session.beginTransaction();
		    Criteria criteria=session.createCriteria(object.getClass());
		    list=criteria.setFirstResult(firstResult).setMaxResults(maxResults).list();
		    transaction.commit();
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryObjectsByPageOrderById error\n");
		}finally{
			
		}
		return list;
	}
//	分页查询,查询结果按指定的条件排序
	public List queryObjectsByPageOrderByCondition(String condition,int firstResult,int maxResults){
		List list=null;
		try{
			session=this.getCurrentSession();
		    Transaction transaction=session.beginTransaction();
		    Criteria criteria=session.createCriteria(object.getClass()).addOrder(Order.asc(condition));
		    list=criteria.setFirstResult(firstResult).setMaxResults(maxResults).list();
		    transaction.commit();
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO queryObjectsByPageOrderByCondition error\n");
		}finally{
			
		}
		return list;
	}
  //添加对象
	public boolean createObject(Object object){
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
            session.save(object);
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO createObject error\n");
			return false;
		}finally{
			
		}
		return true;
	}
  //修改信息对象	
	public boolean updateObject(Object object){
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();
			session.update(object);
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO updateObject error\n");
			return false;
		}finally{
			
		}
		return true;
	}
  //按ID删除对象	
	public boolean deleteObjectByID(String id){
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();		
			Criteria criteria=session.createCriteria(object.getClass()).add(Restrictions.eq("id", id));
            session.delete(criteria.list().get(0));
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO deleteObjectByID error\n");
			return false;
		}finally{
			
		}
		return true;
	}
	
//	按条件删除对象	
	public boolean deleteObjectByCondition(String conditionName,String conditionValue){
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();		
			Criteria criteria=session.createCriteria(object.getClass()).add(Restrictions.eq(conditionName, conditionValue));
			List list=criteria.list();
			for(int i=0;i<list.size();i++){
              session.delete(list.get(i));
			}
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO deleteObjectByID error\n");
			return false;
		}finally{
			
		}
		return true;
	}
	
	  //删除对象	
	public boolean deleteObject(Object object){
		try{
			session=this.getCurrentSession();
			Transaction transaction=session.beginTransaction();		
            session.delete(object);
			transaction.commit();		
		}catch(Exception e){
			e.printStackTrace();
			System.out.print("DAO deleteObject error\n");
			return false;
		}finally{
			
		}
		return true;
	}
	
	public Session getCurrentSession(){
		session = (Session) threadLocal.get();
		if(session==null||!session.isOpen()){
			System.out.print("open hibernate session\n");
		  //this.getSession是由于继承了HibernateDaoSupport	
			session=this.getSession();
			threadLocal.set(session);
		}
		return session;
	}
	
	public void closeSession(){
		if(!session.isOpen()){
			System.out.print("the session is already colsed\n");
		}
		session.close();
		threadLocal.set(null);
		System.out.print("close hibernate session\n");
	}
	
	public void setObject(Object object) {
		this.object = object;
	}
    

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -