现在我有一个CSV,它有几行。最终,我将拥有一个SQL关系数据库结构。我想知道是否有任何库可以轻松地将这些数据提取到java对象列表中。
示例:
标题|地点|日期
EventA |洛杉矶,ca | 2014年5月29日
EventB |纽约,NY | 2013年8月23日
这是csv中的数据结构。我会有一个名为Event:的java对象
Event(String title, String location, String Date)
我知道openCSV。这是我需要用于csv的吗?如果是这样的话,SQL关系数据库的不同解决方案是什么?
此外,是否只能用主方法读取csv?
当您转换到SQL数据库时,您可以将Apache的dbutils用于低级解决方案,或者将Hibernate用于高级解决方案。
dbutils您可以实现ResultSetHandler来将结果集转换为对象,或者如果它是POJO,框架可以为您转换它。apache网站上有一些例子。http://commons.apache.org/proper/commons-dbutils/
休眠有很多关于使用Hibernate的教程。http://www.hibernate.org/
试试JSefa,它允许您对可在序列化和反序列化过程中使用的Java类进行注释。
来自教程:
CSV的注释与XML的注释类似。
@CsvDataType()
public class Person {
@CsvField(pos = 1)
String name;
@CsvField(pos = 2, format = "dd.MM.yyyy")
Date birthDate;
}
序列化
Serializer serializer = CsvIOFactory.createFactory(Person.class).createSerializer();
这一次我们使用了超级接口Serializer,这样我们就可以在下面的代码中从所选的格式类型(XML、CSV、FLR)中进行抽象。
下一个应该不足为奇:
serializer.open(writer);
// call serializer.write for every object to serialize
serializer.close(true);
结果
埃尔温·施密特;1964年5月23日
托马斯·斯图姆;1979年3月12日