📄 roledaohibernate.java.svn-base
字号:
/*
* 创建日期 2005-4-11
*/
package biz.bluesky.pts.service.dao.impl;
import java.util.List;
import java.util.Set;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.springframework.orm.ObjectRetrievalFailureException;
import biz.bluesky.pts.model.TPermission;
import biz.bluesky.pts.model.TRole;
import biz.bluesky.pts.model.TRolePermission;
import biz.bluesky.pts.service.dao.IRoleDAO;
public class RoleDAOHibernate extends BaseDAOHibernate implements
IRoleDAO {
//查询所有的角色
public List findRoles() {
return getHibernateTemplate().find("from TRole");
}
//根据角色编号查询角色
public TRole findRole(int roleId) {
TRole role = (TRole)getHibernateTemplate().get(TRole.class,new Integer(roleId));
if(role == null) {
throw new ObjectRetrievalFailureException(TRole.class,new Integer(roleId));
}
return role;
}
//根据角色名称查询角色
public TRole findRole(String roleName) {
List list = getHibernateTemplate().find("from TRole r where r.role=?",roleName);
if(list.size() < 1) {
return null;
}
else {
return (TRole)list.get(0);
}
}
//查询拥有此权限的角色
public List findRolesByPermission(int permissionId) {
StringBuffer sb = new StringBuffer(100);
sb.append("from TRole roles where roles.roleId in ");
sb.append("(select rp.roleId from TRolePermission rp where rp.permissionId=");
sb.append(permissionId);
sb.append(")");
return getHibernateTemplate().find(sb.toString());
}
//查询不具备此权限的角色
public List findNotRolesByPermission(int permissionId) {
StringBuffer sb = new StringBuffer(100);
sb.append("from TRole roles where roles.roleId not in ");
sb.append("(select rp.roleId from TRolePermission rp where rp.permissionId=");
sb.append(permissionId);
sb.append(")");
return getHibernateTemplate().find(sb.toString());
}
//查询教师所拥有的角色
public List findRolesByTeacher(int teacherId) {
StringBuffer sb = new StringBuffer(100);
sb.append("from TRole roles where roles in ");
sb.append("(select tr.roleId from TTeacherRole tr where tr.teacherId=");
sb.append(teacherId);
sb.append(")");
return getHibernateTemplate().find(sb.toString());
}
//查询教师所不拥有的角色
public List findInexistenceRolesByTeacher(int teacherId) {
StringBuffer sb = new StringBuffer(100);
sb.append("from TRole roles where roles not in ");
sb.append("(select tr.roleId from TTeacherRole tr where tr.teacherId=");
sb.append(teacherId);
sb.append(")");
return getHibernateTemplate().find(sb.toString());
}
//保存一个角色
public void saveRole(TRole role) {
getHibernateTemplate().saveOrUpdate(role);
getHibernateTemplate().flush();
}
//新增权限给角色
public void savePermissionToRole(final TRolePermission rp) {
getHibernateTemplate().saveOrUpdate(rp);
getHibernateTemplate().flush();
}
//删除角色
public void removeRole(int roleId) {
TRole role = findRole(roleId);
getHibernateTemplate().delete(role);
}
//删除角色的权限
public void removePermissionFromRole(int permissionId, int roleId) {
StringBuffer sb = new StringBuffer(100);
sb.append("from TRolePermission rp where rp.roleId=");
sb.append(roleId);
sb.append(" and rp.permissionId=");
sb.append(permissionId);
List list = getHibernateTemplate().find(sb.toString());
if(list.size() < 1) {
throw new ObjectRetrievalFailureException(TRolePermission.class,"" );
}
getHibernateTemplate().delete((TRolePermission)list.get(0));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -