У меня есть мой основной класс, DTO и DAO. что я хочу сделать, это прочитать таблицу базы данных CUSTOMER (два поля NAME, SURNAME), а затем записать ее в txt-файл. Я не могу заставить его хранить значения в DTO, чтобы мой основной класс мог его получить.Создание списка значений базы данных и сохранение в DTO
My DTO существует из двух полей, НАЗВАНИЕ и ФАМИЛИЯ с геттерами и сеттерами. Проблема заключается в моем 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 на каждой итерации, а затем - в список и вернуть этот список. –
im не уверен, что это значит, – user1759247
См. Мой ответ, который более подробно освещен. –