📄 permissiondaohibernate.java
字号:
/*
* 创建日期 2005-4-11
*/
package biz.bluesky.pts.service.dao.impl;
import java.util.List;
import org.springframework.orm.ObjectRetrievalFailureException;
import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.springframework.dao.InvalidDataAccessApiUsageException;
import biz.bluesky.pts.model.TPermission;
import biz.bluesky.pts.service.dao.IPermissionDAO;
import java.sql.*;
import net.sf.hibernate.*;
public class PermissionDAOHibernate extends BaseDAOHibernate implements
IPermissionDAO {
//查询所有的权限
public List findPermissions() {
return getHibernateTemplate().find("from TPermission");
}
//根据编号查询权限
public TPermission findPermission(int permissionId) {
TPermission permission = (TPermission)getHibernateTemplate().get(TPermission.class,new Integer(permissionId));
if(permission == null) {
throw new ObjectRetrievalFailureException(TPermission.class,new Integer(permissionId));
}
return permission;
}
//根据权限名称查询权限
public TPermission findPermission(String permissionName) {
List list = getHibernateTemplate().find("from TPermission p where p.name=?",permissionName);
if(list.size() < 1) {
return null;
}
else {
return (TPermission)list.get(0);
}
}
//根据权限的编号查询子权限
public List findChildPermissions(int parentId) {
return getHibernateTemplate().find("from TPermission p where p.parentId=?",new Integer(parentId));
}
//查询角色所拥有的权限
public List findPermissionsByRole(int roleId) {
StringBuffer sb = new StringBuffer(100);
sb.append("from TPermission permissions where permissions.permissionId in ");
sb.append("(select rp.permissionId from TRolePermission rp where rp.roleId=");
sb.append(roleId);
sb.append(" )");
return getHibernateTemplate().find(sb.toString());
}
//查询角色不具备的权限
public List findNotPermissionsByRole(int roleId) {
StringBuffer sb = new StringBuffer(100);
sb.append("from TPermission permissions where permissions.permissionId not in ");
sb.append("(select rp.permissionId from TRolePermission rp where rp.roleId=");
sb.append(roleId);
sb.append(" )");
return getHibernateTemplate().find(sb.toString());
}
public boolean findPermission(int userID,String permission) {
boolean value = false;
try {
Session session = getHibernateTemplate().getSessionFactory().openSession();
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
conn = session.connection();
permission = permission+"%";
pstmt = conn.prepareStatement("select * from get_permission("+userID+",'"+permission+"')");
rs = pstmt.executeQuery();
if (rs.next()){
value = rs.getBoolean(1);
}
rs.close();
pstmt.close();
conn.close();
}
catch(Exception excp) {
throw new InvalidDataAccessApiUsageException("API Not Found.");
}
return value;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -