使用hibernate将Excel工作表映射到数据库

时间:2015-05-18 08:19:46

标签: java excel hibernate orm apache-poi

我在数据库中填充了一些主数据,这是在第一次执行时完成的一次性活动。我决定在excel文件中将数据保存在多个工作表中。数据库中有一些关系,我必须在excel表中关注。将使用API​​(POI)读取此工作表,并使用hibernate保留数据。

请建议这是正确的方法还是有更好的方法来解决这个问题?有没有其他方法可以使用hibernate将excel转储到数据库中(需要一个excel文件并支持5种类型的数据库)?

1 个答案:

答案 0 :(得分:0)

使用excel和POI你可以做到这一点,但正如你要求的其他方式所以这里是:

如果您确定这是一次性活动,那么您可以使用hibernate.hbm2ddl.import_files属性,该属性将在创建数据库时执行.sql文件。

在你的hibernate配置中添加hibernate property hibernate.hbm2ddl.import_files。将hibernate.hbm2ddl.aut o属性更改为createproperty hibernate.hbm2ddl.import_files的值是一个SQL文件,它是@ / classes文件夹。

会话工厂bean看起来像

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
            <prop key="hibernate.hbm2ddl.auto">create</prop>
            <prop key="hibernate.hbm2ddl.import_files">initial_data.sql</prop>
        </props>
    </property>
</bean>