处理JDBC检索的结果集的正确方法(转换为XML与在线验证)

处理JDBC检索的结果集的正确方法(转换为XML与在线验证),jdbc,odbc,jdbc-odbc,Jdbc,Odbc,Jdbc Odbc,我的Java应用程序正在处理大量从XML解析的信息。对于某些方法,我需要验证另一台机器上SQL数据库中的一些信息。我正在使用JDBC,目前对于每个验证,我调用一个DB处理方法,该方法打开一个连接并返回要验证的结果集。我不确定我是否选择了最好的设计方案。对我来说,这似乎是非常愚蠢和昂贵的。我想知道是否有更好的做法 是否有一种合适的方法可以在整个应用程序运行期间打开连接,这样每次验证迭代(我可能有数十万次)都不会浪费时间(打开连接) 我是否应该构建另一个应用程序来检索所有需要的表,并将它们转换为保

我的Java应用程序正在处理大量从XML解析的信息。对于某些方法,我需要验证另一台机器上SQL数据库中的一些信息。我正在使用JDBC,目前对于每个验证,我调用一个DB处理方法,该方法打开一个连接并返回要验证的结果集。我不确定我是否选择了最好的设计方案。对我来说,这似乎是非常愚蠢和昂贵的。我想知道是否有更好的做法

  • 是否有一种合适的方法可以在整个应用程序运行期间打开连接,这样每次验证迭代(我可能有数十万次)都不会浪费时间(打开连接)

  • 我是否应该构建另一个应用程序来检索所有需要的表,并将它们转换为保存在我的机器上的XML。稍后,我的应用程序会正常解析它们,并具有更好的访问和性能

  • 我愿意接受任何更好的建议


    • 当然,您可以在整个应用程序生命周期中使用一个db连接。使用单例模式。如果您的程序工作时间长,并且长时间不使用数据库,则可能会导致数据库连接松动(网络设备上的某种超时等)。对于这种情况,您可以使用数据库池。这样的池应该管理更长的非活动时间,或者为单独的线程提供单独的db连接

      我认为您将数据转换为XML的解决方案并不好。为什么要将其转换为XML?这些数据多久更改一次?要复制的数据库有多大?您希望如何将本地副本与数据库同步?我认为XML文件中的本地副本增加了太多问题。如果数据比您在程序开始时可以读取的数据小,请将其保存在某些数据结构中并用于验证其他数据?它甚至可以是SQLite或其他小型数据库。但只有当单例或数据库池的性能真的很弱时,我才会这样做