2017-05-04 22 views
0
public void getPersons() 
{ 
Session s = sessionFactory.openSession(); 
Criteria c = s.createCriteria(Person.class); 
c.add(Restrictions.isNotNull("id")); 
List<Person> al = c.list(); 
StringWriter writer = new StringWriter(); 
CSVWriter csvWriter = new CSVWriter(writer, ',', '\''); 
for (Person person : al) { 
System.out.println(person.getName()+"------------------"+al);  
csvWriter.writeAll(person);   // this also not work 
} 

方法來讀取數據,並以CSV。什麼我應該在這裏使用創建?通過使用csvWriter.writeAll()要創建「」 seprated文件 方法writeAll(名單)類型CSVWriter不適用於參數(Person)在ahaving問題,而使用csvwriter

回答

0

除非Person是字符串數組的列表,否則這將不起作用。

您需要爲CSVWriter源,你可以從你的人的列表中創建(列表或字符串[]中的可迭代):

List<String[]> employees = new ArrayList<String[]>(); 
for (Person person : al) { 
    employees.add(new String[] {person.getEmployeeId(), person.getName(), person.getEtc.()}) 
} 

但是你生產,你可以通過這個來writeAll:

csvWriter.writeAll(employees); 

...並關閉作家:

csvWriter.close();