发表于: 2020-04-15 23:15:39
1 1349
今天完成的事:
在师兄帮助下 完成角色添加的模块
role角色表
module权限表
rolemodule角色权限表
//新增角色
@ResponseBody
@RequestMapping(method = RequestMethod.POST)
public void batch(String roleName, List<Integer> moduleIdList) {
// 新建角色返回ID
Integer roleId = roleService.addRole(roleName);
// 根据传来的模块id,生成角色模块中间表的list
List<rolemodule> rolemoduleList = new ArrayList<>();
for (Integer moduleId : moduleIdList) {
rolemodule rolemodule = new rolemodule();
rolemodule.setRoleId(roleId);
rolemodule.setModuleId(moduleId);
rolemoduleList.add(rolemodule);
}
// 最后 批量添加关联关系
rolemoduleService.batch(rolemoduleList);
}
其中涉及到了两个方法
1.插入姓名 返回Id
//添加角色 返回id
public int addRole(String roleName) {
role role1 = new role();
rm.addRole(roleName);
return role1.getRoleId();
2.批量添加角色模块表
//批量插入实现
public boolean batch(List<rolemodule> rolemoduleList){
return rolemoduleMapper.batch(rolemoduleList);
<insert id="batch">
insert into rolemodule (id,role_id,module_id)
values
<foreach collection="list" item="item" separator=",">
(null,#{item.roleId,jdbcType=BIGINT},#{item.moduleId,jdbcType=BIGINT})
</foreach>
</insert>
更改角色及权限
// 编辑角色
@ResponseBody
@RequestMapping(value = "putRole",method = RequestMethod.POST)
public void batch(String roleName,Integer roleId, List<Integer> moduleIdList) {
// 更改角色
roleService.putRole(roleName,roleId);
// 根据传来的模块id,生成角色模块中间表的list
List<rolemodule> rolemoduleList = new ArrayList<>();
for (Integer moduleId : moduleIdList) {
rolemodule rolemodule = new rolemodule();
rolemodule.setRoleId(roleId);
rolemodule.setModuleId(moduleId);
rolemoduleList.add(rolemodule);
}
// 最后 批量添加关联关系
rolemoduleService.batch(rolemoduleList);
}
涉及两个方法
1.更改角色
//编辑角色
boolean updateRole(String roleName,Integer roleId);
<update id="updateRole" parameterType="java.lang.String">
update role set role_name = #{roleName,jdbcType=VARCHAR} where role_id=#{roleId,jdbcType=BIGINT}
</update>
2.批量添加
同上
最近发现我之前的service层有问题
我的service都实现了上层dao接口
这样就把方法限制死了
其实不用实现的 直接@autowired调用就行
还能灵活的修改返回值 插入其他代码 像下图这样
@Service
public class bannerService{
@Autowired
bannerMapper bm;
public List<banner> searchAll() {
return bm.searchAll();
}
public List<banner> search(Integer state, String createBy) {
return bm.search(state,createBy);
}
public int addBanner(banner banner) {
return bm.addBanner(banner);
}
public boolean putUrlAndPic(banner banner) {
return bm.putUrlAndPic(banner);
}
public boolean putBState(banner banner) {
return bm.putBState(banner);
}
public boolean deleteId(Integer id) {
return bm.deleteId(id);
}
}
项目的接口基本都写完了,就是还没测试是否都能查询数据
而且现在看看 之前写的有些地方需要优化
明天计划的事:
修改项目中的错误
测试项目
评论