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

📄 objectdaosheimpl.java

📁 人力资源管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				}else{
					hql.append(" and "+key+"=?");	
				}
				i++;
			}
			Query query=session.createQuery(hql.toString());
			for(int j=0;j<values.size();j++){
				query.setParameter(j, values.get(j));				
			}
			if(isCache)query.setCacheable(true);
			list=query.list();
			if(isTransaction)session.getTransaction().commit();
			return list;
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO queryObjectsByMap error\n");
			return null;
		}
	}
	
	public List queryObjectsByMapOrderByCondition(Map map,String conditionName,String orderType){
		List list=null;
		try{
			Session session=this.getCurrentSession();		
			if(isTransaction)session.beginTransaction();
			StringBuffer hql=new StringBuffer("from "+object.getClass().getName()+" where");
			List<Object> values=new ArrayList<Object>();
			Set set=map.keySet();
			Iterator it=set.iterator();
			int i=0;
			while(it.hasNext()){				
				String key=(String)it.next();
				Object value=map.get(key);
				values.add(value);
				if(i==0){
					hql.append(" "+key+"=?");
				}else{
					hql.append(" and "+key+"=?");	
				}
				i++;
			}
			
			if(!"".equals(conditionName)&&!"".equals(orderType)){
				hql.append(" order by "+conditionName+" "+orderType);
			}
			Query query=session.createQuery(hql.toString());
			for(int j=0;j<values.size();j++){
				query.setParameter(j, values.get(j));				
			}
			if(isCache)query.setCacheable(true);
			list=query.list();
			if(isTransaction)session.getTransaction().commit();
			return list;
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO queryObjectsByMapOrderByCondition error\n");
			return null;
		}
	}
	
	//根据自己给的hql查询
	public List queryByHql(String hql){
		List list=null;
		try{
			Session session=this.getCurrentSession();
			if(isTransaction)session.beginTransaction();
            Query query=session.createQuery(hql);
            if(isCache)query.setCacheable(true);
			list=query.list();
			if(isTransaction)session.getTransaction().commit();
		
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO queryHql error\n");
			return null;
		}
		return list;
	}
	
  //添加对象
	public boolean createObject(Object entity){
		try{
			Session session=this.getCurrentSession();
			if(isTransaction)session.beginTransaction();
            session.save(entity);
            if(isTransaction)session.getTransaction().commit();
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO createObject error\n");
			return false;
		}
		return true;
	}
  //修改信息对象	
	public boolean updateObject(Object entity){
		try{
			Session session=this.getCurrentSession();
			if(isTransaction)session.beginTransaction();
			session.update(entity);
			if(isTransaction)session.getTransaction().commit();		
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO updateObject error\n");
			return false;
		}
		return true;
	}
	
  //按ID删除对象	
	public boolean deleteObjectByID(String id){
		try{
			Session session=this.getCurrentSession();
			if(isTransaction)session.beginTransaction();
			String HQL="delete from "+object.getClass().getName()+" where id= ?";
			Query query = session.createQuery(HQL);
			query.setParameter(0, id);
			query.executeUpdate();
			if(isTransaction)session.getTransaction().commit();	
		}catch(Exception e){
			e.printStackTrace();
			log.error("DAO deleteObjectByID error\n");
			return false;
		}
		return true;
	}
	
//	按条件删除对象	
	public boolean deleteObjectByCondition(String conditionName,String conditionValue){
		try{
			Session session=this.getCurrentSession();
			if(isTransaction)session.beginTransaction();	
			
			String HQL="delete from "+object.getClass().getName()+" where "+conditionName+" =?";
			Query query=session.createQuery(HQL);
			query.setParameter(0, conditionValue);
			query.executeUpdate();
			if(isTransaction)session.getTransaction().commit();	
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO deleteObjectByCondition error\n");
			return false;
		}
		return true;
	}
	
	  //删除对象	
	public boolean deleteObject(Object entity){
		try{
			Session session=this.getCurrentSession();
			if(isTransaction)session.beginTransaction();	
            session.delete(entity);
			if(isTransaction)session.getTransaction().commit();		
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO deleteObject error\n");
			return false;
		}
		return true;
	}
	
	public boolean updateOrDeleteByHql(String hql){
		try{
			Session session=this.getCurrentSession();
			if(isTransaction)session.beginTransaction();	
            session.createQuery(hql).executeUpdate();
			if(isTransaction)session.getTransaction().commit();		
		}catch(Exception e){
			e.printStackTrace();
			log.info("DAO deleteByHql error\n");
			return false;
		}
		return true;
	}
	
	/*public Session getCurrentSession(){
		if(session==null||!session.isOpen()){
			log.info("open hibernate session\n");
		  //this.getSession是由于继承了HibernateDaoSupport	
			session=this.getSession();
		}
		return session;
	}
	
	public void closeSession(){
		if(session==null||!session.isOpen()){
			log.info("the session is already colsed\n");
			return ;
		}
		session.close();
		log.info("close hibernate session\n");
	}*/
	
	public Session getCurrentSession(){
		Session session=(Session)threadLocal.get();
		if (session == null || !session.isOpen()) {
//			log.info("open hibernate session\n");
//		    this.getSession是由于继承了HibernateDaoSupport	
			session=this.getSession();
			threadLocal.set(session);
			return session;
		}
		return session;
	}
	
/*	public void closeSession(){
		Session session = (Session) threadLocal.get();
	
		if(session==null||!session.isOpen()){
			log.info("the session is already colsed\n");
			return ;
		}

        threadLocal.set(null);
        if (session != null||session.isOpen()) {
       // 	this.releaseSession(session);
        	log.info("close hibernate session\n");
            session.close();
        	if(session==null||!session.isOpen()){
        		log.info("the session is colsed successfully!\n");
        	}
        }
	}*/
	
	public void setObject(Object object) {
		this.object = object;
	}
	public void closeSession() {
		this.getCurrentSession().close();
		
	}

	public List queryAllObjectsOrderByID() {
		// TODO Auto-generated method stub		
		return this.queryAllObjectsOrderByCondition("id");
	}

	public List queryObjectsByPageOrderById(int firstResult, int maxResults) {
		// TODO Auto-generated method stub
		return this.queryObjectsByPageOrderByCondition("id", firstResult, maxResults);
	}

	public List queryOneObjectByIDReturnList(String id) {
		// TODO Auto-generated method stub	
		List list=new ArrayList();
		list.add(this.queryObjectsByCondition("id", id));
		return list;
	}
	

    
	
}

⌨️ 快捷键说明

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