假設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語句並輸出結果。