我真的很想解决这个问题,如果可以的话,请帮助我。
此方法的作用是,它通过执行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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
@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();
} 我相信这会对您有帮助。