(2). 检查组
①. 为什么点击新建按钮时,将表单数据清除?
②. 当点击lable标签的时候,复选框会被选中
③. 关于mybatis中map作为输入参数parameterType
④. mybatis中分页插件返回值为Page,拿到当前页面的数据使用getResult();
⑤. mybatis怎么拿到当前主键 [ selectKey ]?
1.selectKey : 通过mybatis框架提供的selectKey来获得自增产生的id值 2.order:insert 与 selectKey的执行顺序 3.keyProperty:这个属性不能乱写,要对应CheckGroup实体类中的id
<!--添加检查组--> <insert id="add" parameterType="com.itheima.pojo.CheckGroup"> /* 通过mybatis框架提供的selectKey来获得自增产生的id值 order:insert 与 selectKey的执行顺序 keyProperty:这个属性不能乱写,要对应CheckGroup实体类中的id */ <selectKey resultType="int" order="AFTER" keyProperty="id"> select LAST_INSERT_ID() </selectKey> insert into t_checkgroup(code,name,helpCode,sex,remark,attention) values (#{code},#{name},#{helpCode},#{sex},#{remark},#{attention}) </insert> <!--中间表插入数据 : 检查项和检查组--> <insert id="setCheckGroupAndCheckItem" parameterType="map"> insert into t_checkgroup_checkitem(checkgroup_id,checkitem_id) values(#{checkGroupId},#{checkitemId}) </insert>
①.添加
1>.
检查组添加
- 核心代码如下:
②.检查组修改
2>.
修改
- ①. 数据回写
前台: 点击编辑按钮,触发事件。发送三个ajax [ 通过检查组id获得当前编辑对象 获取检查项列表信息 根据检查组id回写被选中的检查项ids集合 ] 后台: 1.controller 2.service 2.1 检查组:通过当前id对数据库中检查组进行修改 2.2 检查项:将检查组id和被选中的检查项ids作为参数,传递给dao.返回一个List<Integer> 3.dao
②.检查组修改
2>.
修改
①. 数据回写
前台: 点击编辑按钮,触发事件。发送三个ajax [ 通过检查组id获得当前编辑对象 获取检查项列表信息 根据检查组id回写被选中的检查项ids集合 ] 后台: 1.controller 2.service 2.1 检查组:通过当前id对数据库中检查组进行修改 2.2 检查项:将检查组id和被选中的检查项ids作为参数,传递给dao.返回一个List<Integer> 3.dao
前台代码实现
1.需要为编辑按钮绑定单击事件,并且将当前行数据作为参数传递给处理函数
2.弹出编辑窗口回显数据
后台代码实现
1.controller
2.service
3.dao
- ②. 修改操作
前台: 1.点击修改按钮[对数据进行校验],发送ajax请求,将检查组表单数据和检查项数据 作为参数传递到后台 2.在响应中,将模态框进行关闭。看修改是否成功! 2.1 如果修改成功,给出相对应的提示 2.2 如果修改失败,给出相对应的提示 3.在finally中调用findPage() 后台: 1.controller:将检查组的表单数据和检查项被选中的ids传递给service 2.service 检查组: 根据id进行修改 检查项: 根据当前检查组id删除中间表数据 根据当前检查组的id和被选中的检查项ids 进行中间表添加
前台:
在编辑窗口中修改完成后,点击确定按钮需要提交请求,所以需要为确定按钮绑定事件并提供处理函数
后台:
1.controller:
2.service
3.dao