项目一众筹网06_02给用户分配角色执行用户角色的分配提交的 只是我们选中的解决隐藏域的东西,不用传,点击submit的时候就会传过去允许参数是空值mybatis删除和插入数据

Posted 平凡加班狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目一众筹网06_02给用户分配角色执行用户角色的分配提交的 只是我们选中的解决隐藏域的东西,不用传,点击submit的时候就会传过去允许参数是空值mybatis删除和插入数据相关的知识,希望对你有一定的参考价值。

项目一众筹网06_02

项目一众筹网06_02

文章目录

09-Admin分配Role-执行分配-handler方法(执行角色分配的后端代码开始)

前面我们已经把前端的准备工作做好了,现在开始写后端,点击保存之后的后端要处理什么逻辑

前面我们已经把前端的准备工作做好了,现在开始写后端,点击保存之后的后端要处理什么逻辑

隐藏域的东西,不用传,点击submit(提交)的时候就会传过去,如下图


注意select 的option集就要用 集合接收,比如 上图的List roleIdList

先把方法名和 参数、返回的页面参考同步模块——用户管理的handler,具体的方法体内容我们再看


情况考虑

想一想:这种情况是不合理的吗?
其实合理的
所以我们要允许它没有值

允许参数是空值



执行代码的时候就要小心一点了,roleIdList有可能是null 值
这里跟我们之前角色管理的分页有点像,关键词分页功能的时候,关键词也不是必须的

10-Admin分配Role-执行分配-Service方法

重复问题

handler里面写完了之后,下面就是service层,接口层、这些都很简单,
service实现类要具体怎么写呢,这个是值得我们思考的

总不可能一直重复提交吧,重复提交的话,显然是不合理的

怎么才能不浪费性能,合理地实现这个功能这是我们要考虑的问题
我们仔细想一想
反正要保存的是下面那个新数据的状态,以前我的我们还需要管吗?根本不需要管了,直接全部删掉就行了


然后就是写对应的sql 了

11-Admin分配Role-执行分配-SQL语句

删除旧数据


插入新关系的逻辑:

仔细思考其实是一个循环


sql有点看不清,看下面详细一些

或者换一下格式,顺便整理一下思路
一定要注意接口处不要写错了,我废了一天找bug,亏大了,所以我们找bug的时候也要眼界宽一点,多想一想再动手


接口,实现类


这个接口千万别写错,否则xml里面很难找出错误

mybatis删除和插入

注意 mysql的一些非常重要的知识

1、这个传入参数 写不写都可以,至少这里写不写都是可以的

2、必备的一些知识
mybatis中foreach collection的用法

12-Admin分配Role-执行分配-修正Bug

测试一下,基本上是没有什么问题了
那么什么情况下会触发bug呢
我们看一下

bug:提交的只是选中的,如上图的 10、11、12
点击保存后 按道理数据库里面应该有6条数据

我们调试前端代码发现:确实是只提交了3条数据
经过我们细致的,测试,我们会发现,其实原因在于提交的 只是我们选中的
找到原因就好处理了
本身这个设定是没有问题,只是我们的需求比较特殊

提交的 只是我们选中的解决

思路其实很简单,也很讨巧,就是我们点击保存的时候,
在保存的单击响应函数里面,做一个处理,全部选中右边的option

13-Role分配Auth-目标和思路(下一篇)

14-Role分配Auth-Auth建表
15-Role分配Auth-代码-打开模态框-空模态框
16-Role分配Auth-代码-打开模态框-显示树-发请求
17-Role分配Auth-代码-打开模态框-显示树-发请求[改进]
18-Role分配Auth-代码-打开模态框-显示树-查询Auth并调整树显示
19-Role分配Auth-代码-打开模态框-显示树-展开并显示checkbox
20-Role分配Auth-代码-勾选已分配-后端-查询数据
21-Role分配Auth-代码-勾选已分配-前端-发请求拿到数据
22-Role分配Auth-代码-勾选已分配-前端-勾选已分配
23-Role分配Auth-代码-执行分配-前端-获取已经勾选的authId
24-Role分配Auth-代码-执行分配-前端-发送请求执行分配
25-Role分配Auth-代码-执行分配-后端-handler和service代码
26-Role分配Auth-代码-执行分配-后端-SQL
27-Role分配Auth-代码-执行分配-后端-修复Bug
28-Role分配Auth-小结
29-javascript代码在浏览器上Debug调试

以上是关于项目一众筹网06_02给用户分配角色执行用户角色的分配提交的 只是我们选中的解决隐藏域的东西,不用传,点击submit的时候就会传过去允许参数是空值mybatis删除和插入数据的主要内容,如果未能解决你的问题,请参考以下文章

项目一众筹网06_03给角色分配菜单权限表的设置使用zTree来实现节点判断(后端不写代码也能实现树形开发)接口不能写@service注解,实现类才能写

项目一众筹网06_01_权限控制角色和权限分配Admin分配RoleRole分配Auth前端jquery实现列表移动过来移动过去有些表是不需要实体类的自然也就不需要做逆向工程sql语句

项目一众筹网02_5_管理员维护(分页 和 管理员的增删改查)——管理员维护我们使用同步,角色维护我们使用异步(ajax)

项目一众筹网04_0_角色维护-分页(全部用Ajax来做_ajax默认为异步,但是也可以设置为同步_异步做分页_js会比较多我们的js写到外部测试接口通不通

项目一众筹网07_03_SpringSecurity退出登录禁用CSRF基于角色或权限访问控制自定义403页面

项目一众筹网04_3_角色维护更新_动态生成的数据需要使用特定方式绑定函数on函数的使用,解决只有当前页面可以弹出模态框,其它页面弹不出来的问题_dom操作获取角色名称显示回显