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;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
权限管理系统(Hibernate技术)
共158个文件
jar:37个
jsp:34个
class:31个
5星 · 超过95%的资源 需积分: 9 957 下载量 141 浏览量
2008-11-27
23:35:25
上传
评论 7
收藏 9.14MB RAR 举报
温馨提示
权限管理系统中包含的实体对象为:用户,角色,功能和操作。其中,一个用户可以同时拥有多个角色,而一个角色也可以同时被多个人所拥有(能对用户权限进、用户进管理;分页用Hibernate来实现)
资源推荐
资源详情
资源评论
收起资源包目录
权限管理系统(Hibernate技术) (158个子文件)
Udao.class 7KB
LoginAction.class 4KB
FinduserAction.class 3KB
HibernateSessionFactory.class 2KB
FindAction.class 2KB
Getp.class 2KB
FindrAction.class 2KB
FindpAction.class 2KB
UpdatepAction.class 2KB
FinduAction.class 1KB
DeleterAction.class 1KB
DeletepowerForm.class 1KB
FinduForm.class 1KB
UpdaterAction.class 1KB
AddpowerForm.class 1KB
UpdatepForm.class 1KB
DeleterForm.class 1KB
UpdaterForm.class 1KB
LoginForm.class 1KB
User.class 1KB
DeletepowerAction.class 1KB
DeleteuAction.class 1KB
AddpowerAction.class 1KB
Role.class 1KB
Powers.class 1KB
DeleteuForm.class 1KB
FinduserForm.class 1KB
FindrForm.class 1KB
MyFiter.class 846B
Test.class 771B
FSs.class 279B
.classpath 3KB
hibernate3.jar 1.63MB
jgroups-2.2.8.jar 1.36MB
xerces-2.6.2.jar 966KB
jboss-jmx.jar 505KB
jboss-common.jar 499KB
struts.jar 474KB
mysql-connector-java-3.1.14-bin.jar 448KB
antlr-2.7.6rc1.jar 425KB
c3p0-0.9.0.jar 421KB
proxool-0.8.3.jar 406KB
antlr.jar 344KB
jboss-cache.jar 320KB
log4j-1.2.11.jar 305KB
dom4j-1.6.1.jar 257KB
cglib-2.1.3.jar 244KB
jaxen-1.1-beta-7.jar 194KB
jboss-system.jar 193KB
commons-collections-2.1.1.jar 169KB
commons-beanutils.jar 160KB
commons-digester.jar 147KB
concurrent-1.3.2.jar 145KB
xml-apis.jar 117KB
jaas.jar 99KB
oscache-2.1.jar 97KB
commons-validator.jar 74KB
jakarta-oro.jar 62KB
ehcache-1.1.jar 41KB
commons-logging-1.0.4.jar 33KB
commons-logging.jar 33KB
swarmcache-1.0rc2.jar 26KB
asm.jar 25KB
jacc-1_0-fr.jar 20KB
commons-fileupload.jar 19KB
asm-attrs.jar 16KB
connector.jar 16KB
jta.jar 8KB
jdbc2_0-stdext.jar 6KB
Udao.java 7KB
HibernateSessionFactory.java 3KB
LoginAction.java 3KB
FinduserAction.java 3KB
FindAction.java 2KB
AddpowerForm.java 2KB
FinduForm.java 2KB
DeletepowerForm.java 2KB
DeleterForm.java 2KB
UpdaterForm.java 2KB
UpdatepForm.java 2KB
LoginForm.java 2KB
DeleteuForm.java 2KB
Test.java 2KB
FinduserForm.java 1KB
FindrForm.java 1KB
FindrAction.java 1KB
FindpAction.java 1KB
Getp.java 1KB
User.java 1KB
UpdatepAction.java 1007B
Role.java 981B
Powers.java 963B
DeleterAction.java 931B
AddpowerAction.java 924B
UpdaterAction.java 921B
DeletepowerAction.java 915B
DeleteuAction.java 889B
FinduAction.java 838B
MyFiter.java 553B
FSs.java 125B
共 158 条
- 1
- 2
资源评论
- 骑着猪逛街2015-01-27不错的例子,值得借鉴。
- MyCEvil2014-02-27已经下好了,等下再去学习学习,希望对我有所帮助~~
- keke90362013-12-05不错的资源,正好在找权限管理的资源。
wawa5241631
- 粉丝: 2
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功