把map集合转成 insert 的SQL语句,map中key作为字段名,value作为字段值

发布时间 2023-03-30 17:18:14作者: 大瘦猴

假设map集合的名称为map,表名为table,可以使用以下代码生成对应的SQL语句:

 1 StringBuilder sb = new StringBuilder();
 2 sb.append("INSERT INTO table (");
 3 for (String key : map.keySet()) {
 4     sb.append(key).append(",");
 5 }
 6 sb.deleteCharAt(sb.length() - 1);
 7 sb.append(") VALUES (");
 8 for (Object value : map.values()) {
 9     if (value instanceof String) {
10         sb.append("'").append(value).append("',");
11     } else {
12         sb.append(value).append(",");
13     }
14 }
15 sb.deleteCharAt(sb.length() - 1);
16 sb.append(")");
17 String sql = sb.toString();
18 System.out.println(sql);

该代码首先遍历map集合的key,将key作为字段名拼接到SQL语句中。然后遍历map集合的value,如果是字符串类型,则在值的前后添加引号,否则直接拼接到SQL语句中。最后拼接成完整的SQL语句并输出结果。