【问题标题】:Java - MySQL - Temporary TablesJava - MySQL - 临时表
【发布时间】:2011-01-20 08:52:34
【问题描述】:

我会定期收到用于更新数据库的数据。外部结构与我的内部结构不同,所以我最终要做的是运行导入,然后运行 ​​alter table 命令。我手动执行此操作。根据自己的喜好格式化后,我会导出数据,然后将其导入现有的架构中。

我的问题是: 1. 如何隔离外部 SQL 使其不会对我的数据库产生不利影响?理想情况下,我想在另一个数据库/工作区中以另一个用户身份运行它。我是否应该临时创建一个数据库,然后在此操作完成后将其删除?

  1. 我是否应该使用 JDBC 直接连接来运行所有这些查询,因为会有大量数据?我正在使用 Hibernate 和 C3P0 来管理主连接。

  2. 最后,是否有 API 可以自动/简化导出到 SQL 的过程?如果我走 JDBC 路线,我可以遍历每一行并从中创建插入语句。

有什么想法吗?

谢谢, 沃尔特

【问题讨论】:

    标签: java database hibernate jdbc


    【解决方案1】:

    IMO,最好在 Hibernate 之外使用简单的 JDBC 来执行此操作。只需为这个东西创建一个连接,然后执行所有的 SQL 语句。最后关闭连接。如果您选择此路线,这样可以方便地连接到另一个临时数据库。您不需要将所有这些配置到您的 Hibernate 配置中。

    另一种方法是使用 Hibernate,让它使用实体对象及其映射为您创建架构。这样你就不需要手动想出所需的数据库结构,它会由 Hibernate 自动创建。

    【讨论】:

    • 我正在使用 Hibernate 创建结构。基本上,我是从另一个网站导入数据并将其结构更改为我的,它以不同的方式命名列,并且只存储相关信息。数据有一些重复,所以我通过简单地使用没有导入数据的外键对其进行规范化。我想在另一个数据库/连接中执行这些操作最有意义。 JDBC 似乎是最好的路线,使用我 3 年没有直接使用过的东西将是一个很好的做法。沃尔特
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 2016-01-31
    • 2016-08-18
    • 2018-11-20
    • 2021-05-16
    • 2015-10-23
    • 1970-01-01
    相关资源
    最近更新 更多