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

📄 c852roletypedao.java

📁 使用spring ,hibernate 框架的稽查管理系统
💻 JAVA
字号:
package com.je.ims.dao;

import java.util.LinkedList;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import com.je.ims.hibernate.RoleType;
import com.je.ims.hibernate.RoleTypeMgrRoleType;
import com.je.ims.hibernate.RoleTypeMgrRoleTypeId;

public class C852RoleTypeDAO extends HibernateDaoSupport {
//	根據角色類型類別取得角色類型集合
	public List getRoleTypeByKind(long kind)
{
	String hql="from RoleType where roleKind=?";
	List list=getHibernateTemplate().find(hql,new Long(kind));
    return list;
}
//根據角色類型ID取得角色類型信息
public RoleType getRoleTypeById(Long l)
{
	String hql="from RoleType where roleTypeId=?";
    List list=getHibernateTemplate().find(hql,l);
		RoleType type=null;
		if(list.size()!=0)
	    type=(RoleType)list.get(0);
		return type;
}
//插入角色類型
public void insertRoleType(RoleType roleType)
{
	getHibernateTemplate().saveOrUpdate(roleType);
}
//刪除角色類型以及相關表信息,包括角色成員表,角色菜單表,以及代理人
public void deleteRoleType(Long l)
{
	final RoleType roleType=getRoleTypeById(l);
	String hql3="from RoleTypeMenu where id.roleTypeId=?";
	final List list3=getHibernateTemplate().find(hql3,l);
	String hql5="from RoleTypeMgrRoleType where id.roleTypeId=?";
	final List list5=getHibernateTemplate().find(hql5,l);
    getHibernateTemplate().execute(new HibernateCallback() { 
        public Object doInHibernate(Session session) throws HibernateException { 
        	getHibernateTemplate().delete(roleType);
        if(list3!=null){
        for(int i=0;i<list3.size();i++)
        	session.delete(list3.get(i));
        }
        if(list5!=null)
        {
        for(int i=0;i<list5.size();i++)
        	session.delete(list5.get(i));
        }
        return null; 
       } 
    });

}
//取得角色類型現有可管理的角色類型
public List getRoleTypeByManaged(long l)
{
	String hql="from RoleTypeMgrRoleType where id.roleTypeId=?";
	List list=getHibernateTemplate().find(hql,new Long(l));
	List managedList=null;
	if(list.size()>0)
	managedList=mgrRoleTypeToRoleType(list);
	return managedList;
}
//按照角色類別取得角色類型未管理的角色類型
public List getRoleTypeByK(long kind,long type,List l)
{
	
	String hql="from RoleType where roleKind=?";
	List list=getHibernateTemplate().find(hql,new Long(kind));
    for(int m=0;m<l.size();m++){
    	RoleType type1=(RoleType)l.get(m);
       if(type1.getRoleKind().longValue()!=kind)
       { 
    	   l.remove(m);
       m--;
       }
    }
	for(int i=0;i<l.size();i++)
	{
		for(int j=0;j<list.size();j++)
		{
			RoleType r2=(RoleType)list.get(j);
			long ll=((RoleType)l.get(i)).getRoleTypeId().longValue();
			if(ll==r2.getRoleTypeId().longValue())
				{
				list.remove(j);
				j--;
				break;
				}
		}
	}
	return list;
}
//將RoleType轉換成RoleTypeMgrRoleType
private List roleTypeToMgrRoleType(List roleType,long l)
{
	List list=new LinkedList();
   for(int i=0;i<roleType.size();i++)
   {
	   long type_id=Long.parseLong((String)roleType.get(i));
	   RoleTypeMgrRoleTypeId id=new RoleTypeMgrRoleTypeId();
	   RoleTypeMgrRoleType mgr=new RoleTypeMgrRoleType();
	   id.setMgrRoleTypeId(new Long(type_id));
	   id.setRoleTypeId(new Long(l));
	   mgr.setId(id);
	   list.add(mgr);
   }
   for(int i=0;i<list.size();i++)
   {
	   RoleTypeMgrRoleType e=(RoleTypeMgrRoleType)list.get(i);
	   System.out.println("aaaaaaaa "+e.getId().getRoleTypeId());
   }
   return list;
}
//用於將RoleTypeMgrRoleType轉換成RoleType
private List mgrRoleTypeToRoleType(List mgrRoleType)
{
	List roleType=new LinkedList();
	for(int i=0;i<mgrRoleType.size();i++)
	{
		RoleType type=null;
		String hql="from RoleType where roleTypeId=?";
		RoleTypeMgrRoleType mgrType=(RoleTypeMgrRoleType)mgrRoleType.get(i);
		List list=getHibernateTemplate().find(hql,mgrType.getId().getMgrRoleTypeId());
		if(list.size()>0)
			{
			type=(RoleType)list.get(0);
			roleType.add(type);
			}
	}
	return roleType;
}
//存儲可管理的類型
public void saveManagedType(List save,long l)
{
	final List list=roleTypeToMgrRoleType(save,l);

		final List list1=getHibernateTemplate().find("from RoleTypeMgrRoleType where id.roleTypeId=?",new Long(l));
		getHibernateTemplate().execute(new HibernateCallback() { 
		        public Object doInHibernate(Session session) throws HibernateException { 
		        for(int i=0;i<list1.size();i++)
		        	session.delete(list1.get(i));
		       if(list.size()!=0){
		        for(int i=0;i<list.size();i++)
		        	session.save(list.get(i));
		       }
		        System.out.println("list size is   fsdfsdfaf "+list.size());
		            return null; 
		       } 
		    });

}
public List getRoleByRoleType(Long roletypeid)
{
	String hql="from Role where id.roleTypeId=?";
	List list=getHibernateTemplate().find(hql,roletypeid);
	return list;
}
}

⌨️ 快捷键说明

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