数据库或CSV到java对象



现在我有一个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日

相关内容

  • 没有找到相关文章

最新更新