class=“dfinput” />
class=“dfinput” />
type=“password” class=“dfinput” />
class=“dfinput” />
class=“dfinput” />
-
f l a g e q t r u e ? ′ c h e c k e d ′ : ′ ′ v a l u e = " {flag eq true?'checked':'' } value=" flageqtrue?′checked′:′′value="{role.roleId }" name=“roles”>
${role.roleName }
class=“btn” value=“确认保存” />
[](()1.4提交修改数据控制层不用修改,修改service层的实现类,如下:
@Override
public void saveOrUpdate(UserDto userDto) throws Exception {
// 获取User对象
User user = userDto.getUser();
// 获取关联的角色信息
List roles = userDto.getRoles();
// 判断是添加还是修改数据
if(user.getUserId()!=null && user.getUserId() > 0){
// 表示userId存在,说明是更新
// 修改用户
userMapper.updateByPrimaryKeySelective(user);
// 根据用户ID删除管理的角色信息
userMapper.deleteRoleIdByUserId(user.getUserId());
// 再保存用户和角色的关联关系
if(roles!=null && roles.size() > 0){
for (Integer roleId : roles) {
userMapper.inserUserIdAndRoleId(user.getUserId(),roleId);
}
}
}else{
// 不存在id说明是添加数据
// 先添加用户数据 获取生成的userId
userMapper.insert(user);
// 再保存用户和角色的对应关系,在一个事务中处理
if(roles!=null && roles.size() > 0){
for (Integer roleId : roles) {
userMapper.inserUserIdAndRoleId(user.getUserId(),roleId);
}
}
}
}
UserMapper接口
void deleteRoleIdByUserId(Integer userId);
sql语句
delete from t_user_role where user_id=#{id}
测试修改
修改成功!
[](()2.删除用户
本来用户是不用真的删除的,实际中我们会给用户表添加一个是否删除的字段,删除数据只需要修改该字段即可,也就是我们常说的伪删除,在此处我们来介绍下真实删除(有关联关系的情况下)
[](()2.1提交删除请求 [](()2.2处理删除请求控制器
@RequestMapping(“/delete”)
public String deleteUser(Integer id) throws Exception{
userService.deleteU 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 ser(id);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)