jqgrid 获取选中用户的数据插入

因为查询出的表和被插入的表不是在同一个数据库,所以先从前台jqgrid表格中获取到数据后,再插入表中。

 

实现:

  获取到jqgrid选中 的每行数据之后,发ajax请求把数据以json格式传入后台,后台用list接收,xml中for循环插入

 

暂不考虑:

  这里先不写切换数据库只写怎么实现,和暂不考虑用户通过检察元素修改网页内容再插入数据的不安全性。

js:

var ids = $("#list5").jqGrid('getGridParam', 'selarrrow');    //获取jqgrid选中的所有行id
        if( ids.length==0 ){
                  swal(
                            '请选择一条记录!'
                          )
                  return;
              }
        var rowData = [];
        for( var i=0;i<ids.length;i++ ){                            //再循环通过id得到需要的行数据赋值给rowData
                var data ={"aab301":$("#list5").jqGrid('getRowData', ids[i]).AAB301,
                            "aac003":$("#list5").jqGrid('getRowData', ids[i]).AAC003,
                            "aac004":$("#list5").jqGrid('getRowData', ids[i]).AAC004,
                            "aac002":$("#list5").jqGrid('getRowData', ids[i]).AAC002,
                            "aic162":$("#list5").jqGrid('getRowData', ids[i]).AIC162,
                            "aac006":$("#list5").jqGrid('getRowData', ids[i]).AAC006
                        };
            rowData.push( data ); 
        }
        $.ajax({
            type:'post',
            url:"../toPe35/insertToPe35",
            dataType:"json",
            contentType:"application/json",        //json格式协议
            data:JSON.stringify(rowData),        //把数组以json格式传给服务器
            success:function(data){
                data = parseInt($.trim(data));
                if (data > 0) {
                    swal(
                              '成功!','',
                              'success'
                            )
                    jQuery("#list2").trigger("reloadGrid");
                } else {
                    swal(
                              '错误,请稍后再试!','',
                              'warning'
                            )
                    jQuery("#list2").trigger("reloadGrid");
                }
            }
        });

java控制层:

@RequestMapping(value = "insertToPe35", method = {RequestMethod.POST })
    @ResponseBody
    public int insertToPe35( @RequestBody List<Pe35> pe35){     //可以通过list来装
  return ipe35Service.insertSelective(pe35); }

xml:

 <insert id="insertSelective" parameterType="java.util.List">
    insert into pe35 (APE351,AAB301,AAC003,AAC004,AAC002,AIC162,AAC006)
    <foreach collection="list" item="item" index="i" separator="union all">
    select sys_guid(),#{item.aab301,jdbcType=VARCHAR},#{item.aac003,jdbcType=VARCHAR},#{item.aac004,jdbcType=VARCHAR},#{item.aac002,jdbcType=VARCHAR},#{item.aic162,jdbcType=DECIMAL},#{item.aac006,jdbcType=DECIMAL} from dual
    </foreach>
  </insert>
posted @ 2020-01-01 23:44  林荼  阅读(214)  评论(0编辑  收藏  举报