2017-05-04 52 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();