JSP识别数据框中一组用逗号隔开的数据,并插入数据库。

小白,只会对单一数据进行数据库插入,想写一个复杂一点的功能。求大神指导
输入框是用户输入的,内容有两个,例如:
第一个是一组数据:1001,1011,1035,1048,
第二个是单一数据:小明
实现插入数据库之后的数据是
列1 列2
1001 小明
1011 小明
1035 小明
1048 小明

后台获取到数据后,用字符串的split方法转换为数组,参考:

String s = "1001,1011,1035,1048,";
String [] arr = s.split(",");
for(String id : arr){
    System.out.println(id);
}

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class Main {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.jdbc.Driver") ;
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test" , "root" ,"root") ;
        String ids="1001,1011,1035,1048";
        String[] idList = ids.split(",");
        String name="小明";
        for(int i=0;i<idList.length;i++){
            String sql = "insert into user(id,name) values(?,?)";
            PreparedStatement ps = con.prepareStatement(sql) ;
            ps = con.prepareStatement(sql);
            ps.setString(1,idList[i]);
            ps.setString(2,name);
            ps.executeUpdate();
        }
    }
}

基于问题,用js来解决

  1. 首先定义两个值存储一下上面输入框的值,var str1 = '1001,1011,1035,1048', str2 = '小明'
  2. 做字符串拼接,先把str1做split分割,得到一个数组比如说是arr
  3. 对arr进行遍历,比如说
    arr.map(item => item = ${item} ${str2}), 可以把结果赋值var data = arr.map(item => item = ${item} ${str2})
  4. 这时候你的data就是这样的['1001 小明','1011 小明','1035 小明','1048 小明']
  5. 这时候对data进行for遍历插入数据库就行

如有帮助 望点赞 采纳

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632