请使用StringBuilder构造一个INSERT语句:
public class Main {
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) ? "测试成功" : "测试失败");
}
static String buildInsertSql(String table, String[] fields) {
// TODO:使用StringBuilder拼接字符串
StringBuilder s=new StringBuilder();
s.append("INSERT INTO ");
s.append(table);
s.append(" (");
for (int i = 0; i < fields.length; i++) {
if (i < fields.length - 1) {
s.append( fields[i] + ", " );
} else {
s.append( fields[i] );
}
}
s.append(") VALUES (?, ?, ?)");
return s.toString();
}
}
还可以使用StringJoiner,可以发现使用StringJoiner后代码简化了很多
语法:StringJoiner s=new StringJoiner(间隔符,指定开头字符串(可省),指定结尾字符串(可省))
import java.util.StringJoiner;
public class Main {
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) ? "测试成功" : "测试失败");
}
static String buildInsertSql(String table, String[] fields) {
// TODO:使用StringJoiner拼接字符串
StringJoiner sj = new StringJoiner(", ","INSERT INTO "+table+" (",") VALUES (?, ?, ?)");
for (String field : fields) {
sj.add(field);
}
return sj.toString();
}
}
String.join():String还提供了一个静态方法join(),这个方法在内部使用了StringJoiner来拼接字符串,在不需要指定“开头”和“结尾”的时候,用String.join()更方便:
public class Main {
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) ? "测试成功" : "测试失败");
}
static String buildInsertSql(String table, String[] fields) {
// TODO:使用String.join和StringBuilder拼接字符串
String s = String.join(", ", fields);
StringBuilder sd = new StringBuilder();
sd.append("INSERT INTO "+table+" (");
sd.append(s);
sd.append(") VALUES (?, ?, ?)");
return sd.toString();
}
}
所有博客均为自己学习的笔记。如有错误敬请理解。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律