[英]How do I get rid of null values in my SQL results in java?
我真的很難解決這個問題,如果可以的話,請幫助我。
這個方法的作用是,它通過執行 SQL 查詢來檢索我在數據庫中擁有的標簽,將結果存儲在 ArrayList 中,然后返回它。
我的數據庫包含 3 個屬性:名稱、標簽、位置。 我只想檢索標簽並單獨顯示它們而不顯示其他屬性,所以它就像這種格式,例如 [tag1,tag2,tag3]
而且由於我的 toString 方法中的格式是這樣的,我不能將其更改為僅打印標簽,因為我有另一種方法可以將所有這些屬性一起顯示。
@Override
public String toString()
{
String p = (this.Name + ','+ this.Location+','+ this.Tag);
return p;
}
I get null values for the other attributes when I chose to select only to output the tags and I get the result as follows: [null,null,rfid1, null,null,rfid2, null,null,rfid3]
那么如何擺脫這些 null 值而只顯示標簽位?
我獲取標簽值的方法:
public ArrayList<wallet> 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;
}
我的 controller 代碼:
walletDAO dao2 = new walletDAO();
ArrayList<wallet> u ;
try{
u=dao2.getWalletTag();
這里只是一個簡短的快速和骯臟的修復 - 肯定有更好和更合適的解決方案...... :)
//quick and dirty fix
@Override
public String toString()
{
String NameHandle = "";
String LocationHandle = "";
if(this.Name!=null){NameHandle = this.Name + ",";}
if(this.Location!=null){LocationHandle = this.Location+ ",";}
String p = (this.Name + this.Location + this.Tag);
return p;
}
@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();
}
我相信這會幫助你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.