以角色權限模塊中增加功能爲例子:
a) 概念:
連帶操作:首先先在Role表中插入一條數據,接着拿到rid,往Role-Acl表中插入一條數據
b)數據庫設計:
Role表:
Role-Acl表:
c) 代碼實現:
RoleMap:
/**
*
* @Description: 新增角色
*/
@Insert("insert into sys_role(rolename,creator,createtime,remark) VALUES(#{rolename},1,NOW(),#{remark})")
@Options(useGeneratedKeys = true, keyProperty = "rid",keyColumn="rid")
int addRole(SysRole sysRole);
RoleAclMap:
/**
*
* @Description: 插入到角色權限表
*/
@Insert("INSERT into sys_role_acl(rid,aid) VALUES(#{rid},#{aid})")
int addRoleAcl(SysRoleAcl sysRoleAcl);
RoleService:
/**
* @Description: 插入到角色權限表
*/
public Map addRole(SysRole sysRole, String[] aids) {
int addRole = m_RoleMap.addRole(sysRole);
Integer rid = sysRole.getRid();
// SysRoleAcl
SysRoleAcl sysRoleAcl = new SysRoleAcl();
sysRoleAcl.setAid(Arrays.toString(aids));
sysRoleAcl.setRid(rid);
m_RoleAclMap.addRoleAcl(sysRoleAcl);
// 調用IRoleAclMap方法
Map tResultMap = new HashMap();
tResultMap.put("status", "fail");
if (addRole <= 0) {
tResultMap.put("Msg", "添加失敗");
return tResultMap;
}
tResultMap.put("status", "success");
return tResultMap;
}