java - 管理静态数据

标签 java database dbunit

我正在寻找一个 Java(或 Groovy)解决方案来管理静态数据,即不经常更改的表中的数据,例如国家/地区列表。

我想将国家/地区列表保留在文本文件中,并在服务器启动时自动更新表格。我不能简单地删除所有表,然后将数据重新插入文本文件中,因为这会违反关键约束。

DbUnit 是一个支持将数据从 XML 文件加载到数据库中的库。它有一个 refresh operation几乎满足了我的需要。这将插入文件中但不在数据库中的任何行,更新数据库中也在文件中的任何行,但不会删除数据库中但不在文件中的任何行。

有没有人找到解决这个问题的好方法?

谢谢, 唐

最佳答案

我之前已经通过推迟约束解决了这个问题。

通常,在行中插入或更新数据时会检查约束。插入行时,将检查所有约束并接受或拒绝该行。但是,您可以将约束检查推迟到事务提交为止。请参阅:

http://www.remote-dba.cc/t_garmany_easysql_deferred_constraints.htm

这是供应商特定的行为。它可以在 oracle 中运行,但据我所知,在 mysql 中不支持。

关于java - 管理静态数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1301795/

相关文章:

java - 从 <p> 元素中提取标记实体

java - 匿名类替换为 lambda 表达式

java - 什么时候实例化一个spring bean

python - 在 Django 中将表分为两部分

sql - SQL Server 2005 Express 中的 For 循环?

java - JUnit 测试后清理数据库。

java - 如何在 Hadoop 1.0.4 中链接映射器/ reducer ?

MySQL 数据库损坏

junit - 如何在 TestNG 中使用 DbUnit

sql - DbUnit 不会在插入时更新 postgresql 序列