开发者社区 问答 正文

如何在Java的SQL结果中摆脱空值?

我真的很想解决这个问题,如果可以的话,请帮助我。

此方法的作用是,它通过执行SQL查询来检索我在数据库中拥有的标签,然后将结果存储在ArrayList中,然后将其返回。

我的数据库包含3个属性:名称,标签,位置。我只想检索标签并单独显示它们而没有显示其他属性的地方,因此就像这样的格式,例如[tag1,tag2,tag3]

而且由于我的toString方法中的格式是这样的,因此我不能将其更改为仅打印标签,因为我还有另一种方法可以将所有这些属性一起显示。

@Override public String toString() { String p = (this.Name + ','+ this.Location+','+ this.Tag);

return p;

} 当我选择仅选择输出标签时,我得到其他属性的空值,并且得到如下结果:[null,null,rfid1,null,null,rfid2,null,null,rfid3]

那么,如何摆脱这些空值而仅显示标记位?

我获取标签值的方法:

public ArrayList getWalletTag() throws SQLException { System.out.println("----------------"); System.out.println("Retrieve all tags");

Connection dbConnection = null;
Statement statement = null;
ResultSet resultset = null;     
String query = "SELECT Tag FROM wallets;";

ArrayList<wallet> WalletsList = new ArrayList<>();      
try {
    dbConnection = getDBConnection();
    statement = dbConnection.createStatement();
    System.out.println(query);
    resultset = statement.executeQuery(query);

    while (resultset.next()) {                  
        //String Name =  resultset.getString("Name");
        //String Loc =  resultset.getString("Location");
        String tag =  resultset.getString("Tag");

        WalletsList.add(new wallet (tag));
    }
} 
finally {

    if (resultset !=null){
        resultset.close();
    }
    if (statement !=null) {
        statement.close();
    }

    if (resultset !=null) {
        dbConnection.close();
    }
}
return WalletsList;

} 我的控制器代码:

walletDAO dao2 = new walletDAO();


        ArrayList<wallet>  u ;

        try{

        u=dao2.getWalletTag();

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 11:59:23 450 分享 版权
1 条回答
写回答
取消 提交回答
  • @Override public String toString() { StringBuilder sb = new StringBuilder(); if(Objects.nonNull(this.name)) { sb.append(this.name+","); } if(Objects.nonNull(this.location)) { sb.append(this.location+","); } if(Objects.nonNull(this.tag)) { sb.append(this.tag); }

    return sb.toString();
    

    } 我相信这会对您有帮助。

    2019-11-18 11:59:29
    赞同 展开评论
问答分类:
问答地址: