项目知识点总结
2017-03-17 16:50
155 查看
①对于有表关联关系的数据插入,该怎么处理?
写两条insert语句,然后把主键表的id取出来插入到外键表的pid中,此时需要在mapper.xml的文件中加入useGeneratedKeys="true"
keyProperty="id"表示可以取出正在插入的某一条数据的id,但需要把这两个方法放在同一个事务里,因为插入数据必须同时成功或者同时失败。
②对于有表关联(一对多)关系数据的修改,该怎么处理?
如果仅仅是只有两个表之间的主外键关系(不涉及三表或者更多),一般采取的策略有两种,第一种是先把数据删除,然后再插入数据,但要保证这条数据的主键ID不能发生改变(点击删除的时候可以带过去);第二种是直接进行修改,update等等------同样的放到同一个事务里。
如果有多表之间的关联关系,即A-->B,A-->C,A-->D,此时的修改数据,很显然我们是不能删除A表的数据的,那么我们的做法是,直接用update修改A表的数据,然后再删除B表或者C,D表的数据,然后再插入数据,因为一对多的关系是不能直接update多条数据,同理pid必须保持不变---
同样的放在同一个事务里。
③为什么当页面元素disabled=true时,它的值在后台得不到?
disabled=true 是把这个元素禁用了,也就是值不能从后台取到。如果你不想让别人操作这个元素,又想取到值,可以让他readonly=true,这样就是只读的了.后台也可以取到值.
④用easyUI的后台框架,怎么在页面显示多条数据?
比如:编辑的时候需要回显多条数据?
首先我们要查出来含有这个字段的数据(多条),然后转变成json字符串,如下所示
在前台页面js中,解析方式如下:
在页面中:我们必须把field属性和从json中传过来的数据属性名称对应一致,要不然显示不出来对应的数据
⑤怎么才能写出下图的新增,删除?
首先一个datagrid
⑥当我们点复制在点击选择目标机器人的时候,怎么出现如下的表格?
前端页面显示:
后台代码显示:
注意:所需要的数据格式
写两条insert语句,然后把主键表的id取出来插入到外键表的pid中,此时需要在mapper.xml的文件中加入useGeneratedKeys="true"
keyProperty="id"表示可以取出正在插入的某一条数据的id,但需要把这两个方法放在同一个事务里,因为插入数据必须同时成功或者同时失败。
②对于有表关联(一对多)关系数据的修改,该怎么处理?
如果仅仅是只有两个表之间的主外键关系(不涉及三表或者更多),一般采取的策略有两种,第一种是先把数据删除,然后再插入数据,但要保证这条数据的主键ID不能发生改变(点击删除的时候可以带过去);第二种是直接进行修改,update等等------同样的放到同一个事务里。
如果有多表之间的关联关系,即A-->B,A-->C,A-->D,此时的修改数据,很显然我们是不能删除A表的数据的,那么我们的做法是,直接用update修改A表的数据,然后再删除B表或者C,D表的数据,然后再插入数据,因为一对多的关系是不能直接update多条数据,同理pid必须保持不变---
同样的放在同一个事务里。
③为什么当页面元素disabled=true时,它的值在后台得不到?
disabled=true 是把这个元素禁用了,也就是值不能从后台取到。如果你不想让别人操作这个元素,又想取到值,可以让他readonly=true,这样就是只读的了.后台也可以取到值.
④用easyUI的后台框架,怎么在页面显示多条数据?
比如:编辑的时候需要回显多条数据?
首先我们要查出来含有这个字段的数据(多条),然后转变成json字符串,如下所示
int pid = Integer.parseInt(request.getParameter("id")); List<String> lists =robotReplyService.getReplyList(pid); JSONObject json = new JSONObject(); json.put("lists", lists); response.setCharacterEncoding("utf-8"); PrintWriter pw = response.getWriter(); pw.write(json.toString());
在前台页面js中,解析方式如下:
success : function(r) { alert(r);//[object Object] var dicItem = r.lists; //[object Object],[object Object] var jsonCond = JSON.stringify(dicItem);//stringify()用于从一个对象解析出字符串 //[{"id":0,"pid":0,"replyText":"99999"},{"id":0,"pid":0,"replyText":"88888"}] var jsonObj = $.parseJSON(jsonCond);//[object Object] /** 表格加载数据 */ $("#item").datagrid({ data:jsonObj }); }
在页面中:我们必须把field属性和从json中传过来的数据属性名称对应一致,要不然显示不出来对应的数据
⑤怎么才能写出下图的新增,删除?
首先一个datagrid
Js代码: 新增: function appendItem(tableId) { if (endEditing()) { $(tableId).datagrid('appendRow', { replyText : '' }); editIndex = $(tableId).datagrid('getRows').length - 1; $(tableId).datagrid('selectRow', editIndex).datagrid('beginEdit',editIndex); } } /** editIndex */ var editIndex = undefined; function endEditing() { if (editIndex == undefined) { return true; } if ($('#item').datagrid('validateRow', editIndex)) { $('#item').datagrid('endEdit', editIndex); editIndex = undefined; return true; } else { return false; } } 删除: function removeItem(tableId) { if (editIndex == undefined) { return; } $(tableId).datagrid('cancelEdit', editIndex).datagrid('deleteRow',editIndex); editIndex = undefined; } function onClickRow(index, row) { if (editIndex != index) { if (endEditing()) { editIndex = index; } else { $('#item').datagrid('selectRow', editIndex); } } } function onDblClickRow(index, field, value) { $('#item').datagrid('selectRow', index).datagrid('beginEdit', index); var ed = $("#item").datagrid('getEditor', { index : index, field : "replyText" }); $(ed.target).focus(); } //处于编辑中的状态也保存 function accept(tableId) { if (endEditing()) { $(tableId).datagrid('acceptChanges'); } }
⑥当我们点复制在点击选择目标机器人的时候,怎么出现如下的表格?
前端页面显示:
后台代码显示:
注意:所需要的数据格式
相关文章推荐
- 最近日常项目知识点总结
- PMP知识点总结—项目发起人的角色与责任
- 项目设计到开发过程中,需要注意的知识点总结
- android天天理财项目构建思路代码和总结知识点--2
- android天天理财项目构建思路代码和总结知识点--1
- 项目中遇到的几个知识点总结
- PHP学习笔记(十一):网上社区项目的知识点总结
- 广告营销项目知识点总结
- 毕业设计项目 知识点总结
- 项目接触:知识点总结0806
- 项目经理软考知识点总结
- maven项目开发能用到的所有知识点总结
- 项目管理小小知识点总结
- 项目知识点总结
- 嵌入式arm学习总结(十)--嵌入式项目知识点总结--杂烩
- PMP知识点总结-决策树(DMT)分析:制定项目决策
- 项目管理小小知识点总结
- 项目知识点总结
- 对之前.net项目的零碎知识点总结(自我学习用)
- 学习项目总结的几个知识点