java - 使用逗号分隔值构建字符串

标签 java sql string stringbuilder

为了构建数据库系统,我使用了一个简单的构建器来根据用户的选择生成选择查询。它有几个 boolean 值,然后按如下方式进行

    StringBuilder builder = new StringBuilder();
    builder.append("SELECT ");
    if(addOpen)
        builder.append("Open ");
    if(addHigh)
        builder.append("High ");
    if(addLow)
        builder.append("Low ");
    if(addSettle)
        builder.append("Settle ");
    builder.append("FROM " + tableName);

现在,我的问题很简单 - 我需要包含逗号,但如果我包含逗号,则它后面必须有一个值,所以我无法执行打开、打开、关闭等操作。是否有一个巧妙的解决方案微不足道,但对我来说却出奇困难的问题?

最佳答案

你在找类似 Apache Commons' StringUtils.join() 的东西吗?方法?即:

Collection<String> selections = Arrays.asList("Open", "Low");
String clause = StringUtils.join(selections, ',');

然后就

String sql = "SELECT " + clause + " FROM " + TableName;

关于java - 使用逗号分隔值构建字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10711374/

相关文章:

java - 你如何使用正则表达式按 unicode 字符拆分字符串?

java - string = string.trim();不好的做法?

mysql - 复杂查询: find all users who rated at least 2 common movies rated by u1

不支持 SQL Server 版本 10 错误

java - 编码字符串在java中不能正常工作

java - 如何为 JDBC 连接设置时区区域并避免找不到 SqlException 时区区域?

java - 根据 JAX-RS 中的规范使用带有 @PathParam 的 PathSegment?

mysql - 使用 'AS' 时获取多行不起作用

c - 如何连接字符串但保留每个单独的空终止符?

python - 如何找出当前系统首选语言是什么