我有一個主類,一個DTO和一個DAO。 我想要做的是讀取數據庫表CUSTOMER(兩個字段NAME,SURNAME),然後將其寫入一個txt文件。我似乎無法將它存儲在DTO中,這樣我的主類就可以得到它。使用數據庫值創建列表並存儲在DTO中
我的DTO存在兩個字段,NAME和SURNAME與getter和setter。 問題在於我的DAO與列表
*請記住我是一名學生。
這是我迄今所做的: 結果,寫入文件中像這樣:[名字姓,名的姓,名的姓,] 我需要它寫入deliminated文件管道「|」
public CustomerDTO getDetails(Connection conn) throws SQLException {
CustomerDTO customerDTO = new CustomerDTO();
ResultSet rs = null;
PreparedStatement pstmnt = null;
try {
// SELECT NAME, SURNAME FROM CUSTOMER
StringBuffer stringBuffer = new StringBuffer("SELECT " + DBConstants.CUST_NAME + ", ");
stringBuffer.append(DBConstants.CUST_SURNAME);
stringBuffer.append(" FROM " + "CUSTOMER");
//build string
String query = stringBuffer.toString();
//prepared statement
pstmnt = conn.prepareStatement(query);
//execute preparestatement
rs = pstmnt.executeQuery();
//keep reading next line in table - .next() method means next line
List myList = new ArrayList();
while (rs.next()) {
String ss = rs.getString("NAME");
String sss = rs.getString("SURNAME");
myList.add(ss + " " + sss);
customerDTO.setName(myList.toString());
customerDTO.setSurname(myList.toString());
}
} catch (Exception e) {
e.getMessage();
}
rs.close();
//return DTO with details.
return customerDTO;
}
您的方法返回一個DTO,而不是返回一個列表。您應該更改方法的簽名,在每次迭代中創建一個新的CustomerDTO,並將其添加到列表中,然後返回該列表。 –
即時消息不知道這是什麼意思, – user1759247
看到我的答案,這進入更多的細節。 –