1. 拿到每个树节点用来作为唯一标识的属性
2. 获取选中的key
测试一下
拿到半选状态的数据
3. RoleServiceImpl
点击查看代码
package com.example.sys.service.impl;
import com.example.sys.entity.Role;
import com.example.sys.mapper.RoleMapper;
import com.example.sys.mapper.RoleMenuMapper;
import com.example.sys.service.IRoleService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* <p>
* 服务实现类
* </p>
*
* @author CanisRufus
* @since 2023-06-30
*/
@Service
public class RoleServiceImpl extends ServiceImpl<RoleMapper, Role> implements IRoleService {
@Resource
@Transactional
private RoleMenuMapper roleMenuMapper;
@Override
public void addRole(Role role){
//写入角色表
this.baseMapper.insert(role);
//写入角色菜单
if (null != role.getMenuIdList()){
for (Integer menuId : role.getMenuIdList()){
roleMenuMapper.insert(new RoleMenu(null,role.getRoleId(),menuId));
}
}
}
}
4. role的实体类
点击查看代码
@Data
@TableName("x_role")
@AllArgsConstructor
@NoArgsConstructor
public class Role implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "role_id", type = IdType.AUTO)
private Integer roleId;
private String roleName;
private String roleDesc;
@TableField(exist = false)
private List<Integer> menuIdList;
}
5. RoleMenu
点击查看代码
@TableName("x_role_menu")
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RoleMenu implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private Integer roleId;
private Integer menuId;
}
6. 测试
数据库中表x_user_menu没有变化,为什么?(插个飞雷神先)
其他的还是有