m0_37347456
君君君sss
2018-01-25 03:18
采纳率: 100%
浏览 5.5k
已采纳

前端向java后台批量传值,后台批量插入

前端如何向后台批量传值,后台如何批量插入到数据库? 有小例子最好 万分感谢!!!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

19条回答 默认 最新

  • ooaash
    Change_cj 2018-01-25 05:58
    已采纳

    前端讲数据封装成数组,数组里的元素是json格式的。传到后台后,数据校验过后,可以直接以对象数组的形式,批量插入数据库。多条数据建议批量插入,执行销量要比一次次单条插入要高。

    点赞 评论
  • lpw_cn
    Kevin395 2018-01-25 03:36

    楼主问批量传值,我是否可以理解为你已经掌握了普通的传值方式?
    如果是,你把批量数据用json序列化之后当作一个普通参数回传不就可以了吗?

    批量写数据就循环呗

    点赞 评论
  • linaifeng_1
    杰仔林 2018-01-25 03:37

    放在一个list集合里,后台遍历插入

    点赞 评论
  • sinat_41641294
    sinat_41641294 2018-01-25 03:42

    前台用DTOS装载, 后台用type传递,中间有转换过程。
    抱歉记不太清,只能给几个关键字提示

    点赞 评论
  • qq_39805994
    qq_39805994 2018-01-25 03:55

    我说下我之前的一个写法思路吧:
    前端:将前端需要的数值进行处理,将数据拼接成字符串,类似"数据1,数据2,数据3,数据4"
    后台:接收String参数,通过split(",")根据逗号进行分割,存成list集合,在myBaties的.xml文件里通过标签进行循环操作

    点赞 评论
  • qq_35524582
    小小说_1号 2018-01-25 04:01

    表单提交,后台读取表单保存

    点赞 评论
  • weimezilie
    baronv 2018-01-25 04:04

    拼接数据,到后台解析,写入。

    点赞 评论
  • qq_35451841
    qq_35451841 2018-01-25 04:27

    前台数据拼接成json格式,通过ajax提交后台获取后,解析封装成对象再保存到数据库中

    点赞 评论
  • a709112164
    a709112164 2018-01-25 05:03

    前台用DTOS装载, 后台用type传递

    点赞 评论
  • u012559474
    Air-Smile 2018-01-25 05:55

    以下案例:
    1、逐条执行10万次
    2、分批执行将10万分成m批,每批n条,分多种分批方案来执行。
    /**
    * 批处理执行
    *
    * @param m 批次
    * @param n 每批数量
    * @throws Exception 异常时抛出
    /
    public static void testInsertBatch(int m, int n) throws Exception {
    init(); //初始化环境
    Long start = System.currentTimeMillis();
    for (int i = 0; i < m; i++) {
    //从池中获取连接
    Connection conn = myBroker.getConnection();
    Statement stmt = conn.createStatement();
    for (int k = 0; k < n; k++) {
    String sql = "\n" +
    "insert into testdb.tuser \n" +
    "\t(name, \n" +
    "\tremark, \n" +
    "\tcreatetime, \n" +
    "\tupdatetime\n" +
    "\t)\n" +
    "\tvalues\n" +
    "\t('" + RandomToolkit.generateString(12) + "', \n" +
    "\t'" + RandomToolkit.generateString(24) + "', \n" +
    "\tnow(), \n" +
    "\tnow()\n" +
    ")";
    //加入批处理
    stmt.addBatch(sql);
    }
    stmt.executeBatch(); //执行批处理
    stmt.close();
    myBroker.freeConnection(conn); //连接归池
    }
    Long end = System.currentTimeMillis();
    System.out.println("批量执行" + m + "
    " + n + "=" + m * n + "条Insert操作,共耗时:" + (end - start) / 1000f + "秒!");
    }

    点赞 评论
  • oxpiglll
    code_lcz 2018-01-25 06:06

    。。。这个问的。。。!!!更笨不不知道回答

    点赞 评论
  • AinUser
    AinUser 2018-01-25 06:11

    前台批量插入,后台顶多加一个循环一次读取内容,来进行接受。

    点赞 评论
  • LLLshagua20999
    LLLshagua20999 2018-01-25 06:44

    ajax表单提交,后台接收,批量insert

    点赞 评论
  • qq_30740815
    回首紫衣深 2018-01-25 07:59

    按照规则传递数据,后台解析

    点赞 评论
  • ahwangjch
    jc-wang 2018-01-25 08:06

    表单提交,后台解析,sql批量插入。但是要注意数据库有时候限制sql长度,一般后台还是分批次插入。

    点赞 评论
  • weixin_38640986
    weixin_38640986 2018-01-26 02:25

    看你使用的框架是什么 jpa 直接传入list集合 继承接口调用方法就行 mybatis foreach 集合就行

    点赞 评论
  • greatfeather
    宏羽 2018-01-26 10:39

    将要批量传到后台的数据定义为JSON字符串,再通过Ajax的POST方式向后端传递。算法如下:
    一、前端代码
    var strParams="data=[{\"name\":\"张三\",\"age\":23},{\"name\":\"李四\",\"age\":24}]";
    var strURL = "http://192.168.1.23:8080/site/service";
    var xmlHttp;
    if(window.ActiveXObject)
    xmlHttp = new ActiveXObject("MicroSoft.XMLHTTP");
    else if(window.XMLHttpRequest)
    xmlHttp = new XMLHttpRequest();
    xmlHttp.onreadystatechange = function(){
    if(xmlHttp.readyState == 4)
    {
    if(xmlHttp.status == 200)
    {
    var txtResult = xmlHttp1.responseText;
    }
    }
    };
    xmlHttp.open("POST",strURL,true);
    xmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

    xmlHttp.send(strParams);
    二、后端代码
    JSONArray jsonarrData = new JSONArray(request.getParameters("data"));
    for(int i=0;i<jsonarrData.length;i++){ //遍历JSON数组
    JSONObject jsonObj = jsonarrData[i]; //拿到第i个JSON对象
    String strName = jsonObj.getString("name"); //从第i个JSON对象中获取各属性值
    int age = jsonObj.getInteger("age");
    }

    点赞 评论
  • m2582
    m2582 2018-01-31 16:48

    前台用jquery的ajax去发送请求访问后台的servlet的经典写法就行了,当然想用框架也可以的

    点赞 评论
  • qq_20407705
    MOJY_1825 2018-02-01 06:50

    前端传给后台 用 json数据,然后后台接受后转换为list,就批量插入数据库即可

    点赞 评论

相关推荐