首页 > 代码库 > summer框架做增删改查-总结

summer框架做增删改查-总结

1、datatable的显示

 function initTable(){
	  $('#wzcbkList').dataTable().fnDestroy();
	  $('#wzcbkList').dataTable({
          "ordering": false,//排序
          "searching": false,//表格自带搜索栏        
          "serverSide": true,//异步请求必须设置
          'bPaginate': true,  //是否分页
          "sPaginationType": "full_numbers",  //分页样式    
          //"bLengthChange": false, //是否启用设置每页显示记录数 
          //"iDisplayLength": 20, //默认每页显示的记录数
          "aLengthMenu": [10, 25, 50, 100],
          "bProcessing": true,//是否显示正在处理的提示  如:设置异步请求时,是否有等待框
          //"sAjaxSource": basePath+'/wz/wzcbk!wzcbkList.action',    //服务器会默认使用cookie;使用该参数后,请求的每个连接都是新连接
	  "bStateSave": false, //保存状态到cookie ******很重要 , 当搜索的时候页面一刷新会导致搜索的消失。使用这个属性设置为true就可避免了 
          
	  "ajax": {
         	 url: basePath+'/wz/wzcbk!wzcbkList.action',
         	 type:"post",
         	 data: {
              	   "cbkmc": $('#cbkmc').combobox('getValue'),
              	   "cbkfzr": $('#cbkfzr').val()
        	 }
          },
          "columnDefs":[
             {"targets": [0],"visible": true,"render": function (data, type,row) {
             	 return "<input type=\"checkbox\" value=http://www.mamicode.com/""+data+"/">";       >
难点:1)、数据分页,后台传的json格式不对,需要注意:

        dataMap.put("draw", draw);//分辨哪个页面请求
        dataMap.put("recordsTotal", total);//(过滤的条数)
        dataMap.put("recordsFiltered", total); //分页传的参数,总条数,会自动根据当前页分从几到几
        dataMap.put("data", wzcbks);
            2)、查询下拉框的取不l值:

     //有初始化的数据最好放在上面,防止数据未加载完       $('#cbkmc').combobox({            url : basePath+'/wz/wzcbk!queryWzcbk.action',            valueField : 'cbkid',            textField : 'cbkmc'      });      $('#cbkmc').combobox('getValue')

2、查看数据

        var ids = getSelected($(tableId));

     1) 前台 获取不了ids,主要是因为checkbox内未赋value值,data为空

      "columnDefs":[
             {"targets": [0],"visible": true,"render": function (data, type,row) {
                 return "<input type=\"checkbox\" value=http://www.mamicode.com/""+data+"/">";
                 }          
             },
             {"targets": [7],"visible": true,"render": function (data, type,row) {
                 return formatDate(new Date(data),"yyyy-MM-dd");
                 }          
             }
          ]    

      2) view页面显示不了数据,注意后台传的json格式,{"result":"success","data":{"cbkid":"969","cbkkc":"222"}

        // 这里面的接收的id是indexBacend页面拼的id
        String id = getRequest().getParameter("id");
        wzcbk = wzcbkService.selectByPrimaryKey(id);
        ObjectMapper mapper = new ObjectMapper();
        Map<String, Object> dataMap = new HashMap<String, Object>();
        dataMap.put("data", wzcbk);
        dataMap.put("result","success");
        String json = mapper.writeValueAsString(dataMap);
        log.info("查询的物资储备库列表数据:"+json);
        responseText(json);

3、删除数据

      纠结在于T_DEMO_WZCBK_SqlMap.xml内的sql语句,更改deltye来确定数据库端的假删除

 <update id="updateByPrimaryKeyWithBLOBs" parameterClass="com.itic.appbase.demo.persistence.model.WzCbk" >
    update T_DEMO_WZCBK
    set
      CBKMC = #cbkmc#,
      CBKFZR = #cbkfzr#,
      LXDH = #lxdh#,
      LXDZ = #lxdz#,
      EMAIL = #email#,
      ADDTIME = #addtime#,
      DELTYPE = #deltype#
    where  CBKID = #cbkid#
  </update>

  4、   修改数据

     首先跟查看一样获取某个id的一条数据并显示在前端,在更改数据

  5、总结

     1)、数据库的表设计不合理:

          字段通常设置为NVARCHAR2(20);

          取值范围根据实际情况来定;

          id记得设置成为navchar(20);

          date可以设置成Date也可以设置成为navchar(20);

          具备AddTime字段;

          具备备注和多余字段

     2)、重新建表,根据gen-mybatis生成dao和service时,要淡定地修改自己之前改动的地方

summer框架做增删改查-总结