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

📄 udao.java

📁 权限管理系统(Hibernate技术).rar 权限管理系统 有增加
💻 JAVA
字号:
package com.dao;

import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.pojo.Powers;
import com.pojo.Role;
import com.pojo.User;
import com.sf.HibernateSessionFactory;

public class Udao {
	Session session;
	public User findBykey(String name,String pwd)
	{   session=HibernateSessionFactory.getSession();
		User user=null;
		String hql = "FROM User AS p WHERE p.uname=? AND p.upassword=?";
		Query q = session.createQuery(hql);
		
		q.setString(0, name);
		q.setString(1, pwd);
        user=(User) q.uniqueResult();
		return user;
	}	
	public void closeSession() {// 释放资源
		if (session != null) {
			session.close();
			session = null;
		}
	}
	//获取角色
	   public List getrole(String name,String pwd){
		   session=HibernateSessionFactory.getSession();
		   List l = null ;
		   Role course = null;
			   ArrayList list=new ArrayList();
		   try{
			    User user=findBykey(name,pwd);
			    int id=user.getUid();
			    Query q=session.createQuery("from User as u where u.uid="+id+"");
			    
			   l=q.list();	
			    
			 for (int i=0;i<l.size();i++) { 
			  user=(User)l.get(i);
			  Iterator it = user.getRole().iterator();

			  while(it.hasNext())
              {
                  course = (Role)it.next();
                 // System.out.println(course.getRid());
   			   list.add(course.getRid());
              }
          }
      }
      catch(HibernateException ex){
          ex.printStackTrace();
      }    
		return list;
	   }	
	   //获取权限
	   public List getPower(int rid){
		   session=HibernateSessionFactory.getSession();
		   List l = null ;
		   Powers p=null;
		   Role role=null;
		   ArrayList list1=new ArrayList();
		   try{
		   Query q=session.createQuery("from Role as r where r.rid="+rid+""); 
		   l=q.list();
		   for (int i=0;i<l.size();i++) { 
				  role=(Role)l.get(i);
				  Iterator it = role.getPowers().iterator();
				  while(it.hasNext())
	              {
	                  p= (Powers)it.next();
	   			      list1.add(p);
	              }
	          }
	      }
	      catch(HibernateException ex){
	          ex.printStackTrace();
	      }	    
		   
		return list1;
		   
	   }
	   
	   public List getroles(int uid){
		   session=HibernateSessionFactory.getSession();
		   List l1 = null ;
		   User u=null;
		   Role role=null;
		   ArrayList list2=new ArrayList();
		   try{
		   Query q=session.createQuery("from User as u where u.uid="+uid+""); 
		   l1=q.list();
		   for (int i=0;i<l1.size();i++) { 
				  u=(User)l1.get(i);
				  Iterator it =u.getRole().iterator();

				  while(it.hasNext())
	              {
	                  role= (Role)it.next();
	                  //System.out.println(p.getQname());
	                 // int dd=role.getRid();
	                  //String ss=role.getRname();
	                  //lists.add(dd);
	   			      list2.add(role);
	              }
	          }
	      }
	      catch(HibernateException ex){
	          ex.printStackTrace();
	      }	    
		   
		return list2;
		   
	   }
	   //查询所有用户
	   public List getAll() {
		    session=HibernateSessionFactory.getSession();
			Query query = session.createQuery("from User");
			List list3 = query.list();
			return list3;
		}
	   //根据ID取用户
	   public User findByid(int id)
		{   session=HibernateSessionFactory.getSession();
			User user=null;
			String hql = "FROM User AS p WHERE p.uid=?";
			Query q = session.createQuery(hql);
			
			q.setInteger(0, id);
	        user=(User) q.uniqueResult();
			return user;
		}	
	   //获取所有角色
	   public List getAllRole(int rid) {
		    session=HibernateSessionFactory.getSession();
			Query query = session.createQuery("from Role as r,User as u where u.uid=r.rid and r.rid=?");
			query.setInteger(0,rid);
			List list4 = query.list();
			return list4;
		}
	   //根据ID获取角色
	   public Role getbyid(int rid){
		   session=HibernateSessionFactory.getSession();
		    Role role=null;
			String hql = "FROM Role AS p WHERE p.rid=?";
			Query q = session.createQuery(hql);
			
			q.setInteger(0, rid);
	        role=(Role) q.uniqueResult();
			return role;
		   
	   }
	   //根据ID获取权限
	   public Powers getbyqid(int qid){
		   session=HibernateSessionFactory.getSession();
		    Powers power=null;
			String hql = "FROM Powers AS p WHERE p.qid=?";
			Query q = session.createQuery(hql);
			
			q.setInteger(0, qid);
	        power=(Powers) q.uniqueResult();
			return power;
		   
	   }
	   //添加角色
	   public void addrole(int uid,int rid){
		   session=HibernateSessionFactory.getSession();
		  User u=findByid(uid);
		  Role r=getbyid(rid);
		   r.setRname(r.getRname());		   
		   u.getRole().add(r);
		   r.getUser().add(u);
		   session.update(u);
		   session.beginTransaction().commit();
	   }
	   //添加权限
	   public void addpower(int rid,int qid){
		   session=HibernateSessionFactory.getSession();
		  Role r=getbyid(rid);
		  Powers p=getbyqid(qid);
		   r.setRname(r.getRname());		   
		   p.getRole().add(r);
		   r.getPowers().add(p);
		   session.update(r);
		   session.beginTransaction().commit();
	   }
	   //取消角色
	   public void deleterole(int uid,int rid){
		   session=HibernateSessionFactory.getSession();
		  User u=findByid(uid);
		  Role r=getbyid(rid);
		   r.setRname(r.getRname());		   
		   u.getRole().remove(r);
		   r.getUser().remove(u);
		   session.beginTransaction().commit();
	   }
	   //取消权限
	   public void deletepower(int rid,int qid){
		   session=HibernateSessionFactory.getSession();
		  Role r=getbyid(rid);
		  Powers p=getbyqid(qid);		   
		   r.getPowers().remove(p);
		   p.getRole().remove(r);
		   session.beginTransaction().commit();
	   }
	   //删除用户
	   public void deleteuser(int uid,int rid){
		   session=HibernateSessionFactory.getSession();
		  User u=findByid(uid);
		  Role r=getbyid(rid);		   
		   u.getRole().remove(r);
		   r.getUser().remove(u);
		   session.delete(u);
		   session.beginTransaction().commit();
	   }
	   //模糊查询
	   public List getOneByName(String name) {
		   session=HibernateSessionFactory.getSession();
			Query query = session.createQuery("from User  p where  p.uname like ?"); 
			query.setString(0, "%"+name+"%");
			List list5 = query.list();
			return list5;
		}
	   //分页
	   public List<User> findPagedAll(int currentPage, int pageSize) 
	   {String hql = "from User u";
	     Query query = session.createQuery(hql);
	     currentPage = (currentPage - 1) * pageSize;
	     query.setFirstResult(currentPage);
	     query.setMaxResults(pageSize);
	     List<User> list6 = query.list();
	     return list6;
	 }
}

⌨️ 快捷键说明

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