当用户被创建时,对sys_user_role
表做操作,增加用户id
和角色id
(角色提前要配置好(在角色管理配置)),这样只是固定角色(新注册的用户的角色都一样,比如说都为普通用户)。
在xml
文件(这里让新注册的用户角色都为2)然后再在实现层SysUserServiceImpl.java
中在registerUser
方法中调用新增角色方法即可完成。
<insert id="insertRole" parameterType="SysUser">
insert into sys_user_role (user_id,role_id) values (#{userId}, 2)
</insert>
只需要修改registerUser
方法:
/**
* 注册用户信息
*
* @param user 用户信息
* @return 结果
*/
@Override
public boolean registerUser(SysUser user)
{
// //第一种实现方式:
// Boolean total = userMapper.insertUser(user) > 0;
// // mybatis: <insert id="insertUser" useGeneratedKeys="true" keyProperty="userId">
// // 插入角色
// insertUserRole(selectUserByUserName(user.getUserName()).getUserId(),new Long[]{2L});
// return total;
//第二种
int res = userMapper.insertUser(user);
// 默认user.getUserId()获取userId
insertUserRole(user.getUserId(),new Long[]{2L});
// 若是user.getUserId() = null,用下面这个
insertUserRole(selectUserByUserName(user.getUserName()).getUserId(),new Long[]{2L});
return res > 0;
// 原本代码:
// return userMapper.insertUser(user) > 0;
}
powered by kaifamiao