Discuss / Java / 练习:请使用StringBuilder构造一个INSERT语句

练习:请使用StringBuilder构造一个INSERT语句

Topic source

韦雪松

#1 Created at ... [Delete] [Delete and Lock User]
import java.util.Arrays;

public class Main {

    public static String[] repeat(String str, int count) {
        String[] repeat = new String[count];
        Arrays.fill(repeat, str);
        return repeat;
    }

    public static String buildInsertSql(String table, String... fields) {
        StringBuilder sb = new StringBuilder();
        sb.append("INSERT INTO ").append(table).append(" (")
                .append(String.join(", ", fields))
                .append(") VALUES (")
                .append(String.join(", ", repeat("?", fields.length)))
                .append(")");
        return sb.toString();
    }

    public static void main(String[] args) {
        String[] fields = {"name", "position", "salary"};
        String table = "employee";
        String insert = buildInsertSql(table, fields);
        System.out.println(insert);
        String s = "INSERT INTO employee (name, position, salary) VALUES (?, ?, ?)";
        System.out.println(s.equals(insert) ? "测试成功" : "测试失败");
    }
}

  • 1

Reply