多次访问数据库

时间:2011-08-30 07:30:42

标签: java database

我正在研究下面提到的解决方案但是找不到任何最佳实践/工具。 对于webservice中收到的一批请求(比如5000个唯一ID和记录),它必须为数据库中的那些唯一ID获取行,并将它们保存在缓冲区(或缓存)中,并将它们与webservice中接收的记录进行比较。如果特定数据(例如列)的更改将在表中针对该唯一ID进行更新。反过来,该表的子表也会受到影响。例如,如果有人更改了他的笔记本电脑型号和国家/地区,则会在另一个表格中的表格和国家/地区值中更新型号。同样,它会在短时间内访问多个表。网络服务呼叫中的最大记录可能在一小时内一次通话中达到70K。

除了在java中实现它之外,我没有任何其他选择。是否有任何良好的实现方法,或者可以使用任何开源Java工具实现。请建议。感谢。

3 个答案:

答案 0 :(得分:0)

Hibernate可能是你应该尝试的第一件事。我倾向于避免,因为它对我的大多数应用程序来说都是过度杀伤,但它是访问数据库的标准工具,任何知道Java的人都应该至少了解它。您可以使用许多其他解决方案,但Hibernate是最常用的。

答案 1 :(得分:0)

JDBC是用于访问关系数据库的API。有用的性能和安全提示:

有关JDBC的教程,请参阅http://download.oracle.com/javase/tutorial/jdbc/

答案 2 :(得分:0)

听起来并不复杂。当然,你必须知道(或学习):

  • SQL
  • JDBC

然后,您可以按记录浏览Web服务数据记录,并为每条记录执行以下操作:

fetch corresponding database record
for each field in record
    if updated
        execute corresponding update SQL statement
commit // every so many records

对于体面的RDBMS,每小时70K的记录应该不是最轻微的问题。