public List<Map<String, Object>> loadTableData(String tableName, List<Header> headers, Map<String, Object> wheres, String type) throws Exception {
StringBuilder SQL = new StringBuilder(); // SQL
List<String> columns = new ArrayList<>(); // 列头
if(null == headers || headers.isEmpty())
columns.add("*");
else
for (Header header : headers)
if(null == header.getNameEn())
continue;
else if (type.equalsIgnoreCase("en"))
columns.add(header.getNameEn());
else if (type.equalsIgnoreCase("cn"))
columns.add(header.getNameEn() + " AS " + WzStringUtils.trimSpecial(header.getNameCn()));
else
columns.add("*");
SQL.append(format("SELECT %s FROM %s WHERE 1=1", StringUtils.join(columns,","), tableName));
这一段代码是我所遇到的,可是之前并没使用到过StringUtils.join()。
之后在网上查找教程,以及实例如下:
org.apache.commons.lang.StringUtils;
StringUtils.join(null) = null
StringUtils.join([]) = ""
StringUtils.join([null]) = ""
StringUtils.join(["a", "b", "c"]) = "abc"
StringUtils.join([null, "", "a"]) = "a"
String[] str = { "1", "2", "a", "b" };
// 将数组变成字符串
StringUtils.join(str)
// 将数组用逗号分隔变成字符串
StringUtils.join(str, ",")
找到思路了,基本就是将columns以逗号分隔变成字符串。