java三大框架整合做权限管理操作
2013-12-07 11:55
363 查看
关系都是多对多的关系,双向查找。
用户类:
[java] view
plaincopy
import java.util.Set;
public class RPMS_user {
private int userId;
private String userName;
private String userPass;
private Set<RPMS_role> roleId;
//生成get/set方法
}
映射文件:
[java] view
plaincopy
<hibernate-mapping package="com.softeem.dto">
<class name="RPMS_user" >
<id name="userId">
<generator class="native"/>
</id>
<property name="userName" />
<property name="userPass"></property>
<set name="roleId" table="RPMS_user_role" lazy="false" cascade="all">
<key column="userid"></key>
<many-to-many class="com.softeem.dto.RPMS_role" column="roleid"></many-to-many>
</set>
</class>
</hibernate-mapping>
下面的只说类,映射文件都差不多,理解下都可以写出来
角色类:
[java] view
plaincopy
public class RPMS_role {
private int roleId;
private String roleName;
private RPMS_owner ownerId;
private Set<RPMS_power> powerId;
private Set<RPMS_user> userId;
//生成get/set方法
}
权限类:
[java] view
plaincopy
public class RPMS_power {
private int powerId;
private String powerName;
private Set<RPMS_role> roles; //保存的多个角色
}
添加一个对象,在这里就不多说了,在这里最要是说下怎样来形成关系,和一些可能出现的错误:
添加形成关系:
[java] view
plaincopy
public String AddUserRole(){
//查找角色
role=uservice.selectRoleById(role);
Set<RPMS_role> set = new HashSet<RPMS_role>();
set.add(role);
//把角色添加到用户中
user.setRoleId(set);
uservice.addUser(user);
return SUCCESS;
}
这里举一个例子就好了,类似于增删改查的例子网上收索下一大堆:(自己琢磨下)
关键是说下,怎么从一个多对多的实例中添加或删除一条记录而不影响其他记录:
添加:
[java] view
plaincopy
/**
* 用于为角色添加对应的权限
* 先获取到选择的权限 以及角色
* 然后把权限保存到角色中去
**/
public String AddRolePower(){
if(chickid!=null&&chickid.size()>0){
for(int i=0;i<chickid.size();i++){
System.out.println(chickid.get(i));
RPMS_power pw = new RPMS_power();
pw.setPowerId(chickid.get(i));
power=uservice.selectPowerById(pw);
plist.add(power);
}
role=uservice.selectRoleById(role);
Set<RPMS_power> set = new HashSet<RPMS_power>();
for(int i=0;i<plist.size();i++){
set.add(plist.get(i));
}
role.setPowerId(set);
uservice.AddRolePower(role);
}
return SUCCESS;
}
删除:
[java] view
plaincopy
/**删除权限功能
* 先获取用户提交的权限
* 然后获取角色中有的权限
* 判断用户提交的权限在角色中是否存在
* 最后再对存在的权限进行删除功能
* **/
public String DelRolePower(){
if(chickid!=null&&chickid.size()>0){
role=uservice.selectRoleById(role);
for(int i=0;i<chickid.size();i++){
Iterator<RPMS_power> it =role.getPowerId().iterator();
while(it.hasNext()){
RPMS_power wer=it.next();
if(chickid.get(i)==wer.getPowerId()){
plist.add(wer);
}
}
}
for(int i=0;i<plist.size();i++){
role.getPowerId().remove(plist.get(i));
}
uservice.AddRolePower(role);
}
return SUCCESS;
}
用户类:
[java] view
plaincopy
import java.util.Set;
public class RPMS_user {
private int userId;
private String userName;
private String userPass;
private Set<RPMS_role> roleId;
//生成get/set方法
}
映射文件:
[java] view
plaincopy
<hibernate-mapping package="com.softeem.dto">
<class name="RPMS_user" >
<id name="userId">
<generator class="native"/>
</id>
<property name="userName" />
<property name="userPass"></property>
<set name="roleId" table="RPMS_user_role" lazy="false" cascade="all">
<key column="userid"></key>
<many-to-many class="com.softeem.dto.RPMS_role" column="roleid"></many-to-many>
</set>
</class>
</hibernate-mapping>
下面的只说类,映射文件都差不多,理解下都可以写出来
角色类:
[java] view
plaincopy
public class RPMS_role {
private int roleId;
private String roleName;
private RPMS_owner ownerId;
private Set<RPMS_power> powerId;
private Set<RPMS_user> userId;
//生成get/set方法
}
权限类:
[java] view
plaincopy
public class RPMS_power {
private int powerId;
private String powerName;
private Set<RPMS_role> roles; //保存的多个角色
}
添加一个对象,在这里就不多说了,在这里最要是说下怎样来形成关系,和一些可能出现的错误:
添加形成关系:
[java] view
plaincopy
public String AddUserRole(){
//查找角色
role=uservice.selectRoleById(role);
Set<RPMS_role> set = new HashSet<RPMS_role>();
set.add(role);
//把角色添加到用户中
user.setRoleId(set);
uservice.addUser(user);
return SUCCESS;
}
这里举一个例子就好了,类似于增删改查的例子网上收索下一大堆:(自己琢磨下)
关键是说下,怎么从一个多对多的实例中添加或删除一条记录而不影响其他记录:
添加:
[java] view
plaincopy
/**
* 用于为角色添加对应的权限
* 先获取到选择的权限 以及角色
* 然后把权限保存到角色中去
**/
public String AddRolePower(){
if(chickid!=null&&chickid.size()>0){
for(int i=0;i<chickid.size();i++){
System.out.println(chickid.get(i));
RPMS_power pw = new RPMS_power();
pw.setPowerId(chickid.get(i));
power=uservice.selectPowerById(pw);
plist.add(power);
}
role=uservice.selectRoleById(role);
Set<RPMS_power> set = new HashSet<RPMS_power>();
for(int i=0;i<plist.size();i++){
set.add(plist.get(i));
}
role.setPowerId(set);
uservice.AddRolePower(role);
}
return SUCCESS;
}
删除:
[java] view
plaincopy
/**删除权限功能
* 先获取用户提交的权限
* 然后获取角色中有的权限
* 判断用户提交的权限在角色中是否存在
* 最后再对存在的权限进行删除功能
* **/
public String DelRolePower(){
if(chickid!=null&&chickid.size()>0){
role=uservice.selectRoleById(role);
for(int i=0;i<chickid.size();i++){
Iterator<RPMS_power> it =role.getPowerId().iterator();
while(it.hasNext()){
RPMS_power wer=it.next();
if(chickid.get(i)==wer.getPowerId()){
plist.add(wer);
}
}
}
for(int i=0;i<plist.size();i++){
role.getPowerId().remove(plist.get(i));
}
uservice.AddRolePower(role);
}
return SUCCESS;
}
相关文章推荐
- Spring的声明式事务管理(李刚 轻量级javaEE 企业应用实战-三大框架整合开发)
- java 权限管理框架
- JAVAWEB开发之权限管理(三)——shiro与企业项目整合开发(基于Spring)
- java 的 struts2 Spring Hibernate 三大框架的整合
- 最全三大框架整合(使用映射)——DeptAction.java
- SSH Java三大框架整合(Struts 2+Hibernate+Spring+mysql)
- JAVA_WEB项目之Struts2、Spring和Hibernate三大框架的整合
- javaweb三大框架构建用户管理系统
- 【SpringMVC】三大框架整合纯java版
- java 权限管理框架
- 最全三大框架整合(使用映射)——Dept.java
- java ssh三大框架搭建整合
- 三大框架整合过程中报错"java.lang.IllegalArgumentException: node to traverse cannot be null!"出现的原因
- java三大框架之spring整合struts
- 最全三大框架整合(使用映射)——Emp.java
- .NET快速信息化系统开发框架 V3.2 -> WinForm“组织机构管理”界面组织机构权限管理采用新的界面,操作权限按模块进行展示
- RDIFramework.NET ━ .NET快速信息化系统开发框架 - 4.9 操作(功能)权限管理模块
- java 从零开始,学习笔记之基础入门<三大框架整合>(四十二)
- Java_SSH三大框架整合
- Spring框架使用内幕之事务管理以及三大框架整合