硬编码SQL语句VS.Web服务来执行查询



我正在开发一个Java应用程序,它可以与服务器中的MySQL数据库通信。该应用程序应该能够从XML文件中读取一些数据,然后insert将读取的信息database

我曾经直接将SQL Statements编写到Java代码中,但后来一位朋友建议我创建一个web服务,为该工具完成SQL的所有工作,让该工具的唯一工作就是读取XML并将数据发送到web服务中。

我的问题是,它值得付出这样的努力吗?为什么或为什么不?

不建议使用代码中的SQL,因为它很难维护。该应用程序还与数据库结构紧密耦合。每次数据库更改(或者您要转移到新数据库)时,都需要对代码进行更改,然后再次发布。

我不认为网络服务是正确的答案。我建议您尝试以下方法之一:

  1. 如果您的应用程序使用了大量的表,并且非常高的吞吐量并不重要,那么使用Hibernate作为ORM工具。它有很多功能,可以真正减少在数据访问上花费的时间。

  2. 如果你没有那么多表,也没有时间学习Hibernate,那么就使用iBatis。你需要30分钟才能领会。它本质上允许您将SQL放在一个单独的XML文件中,它将为您读取该文件。对于较小的应用程序,它确实很有用,而且比Hibernate更快。

  3. 作为最后的手段,最好将SQL放在打开并执行的文本文件中。

您打算如何创建Web服务部分?如果你有时间,值得尝试使用Core Java或任何Web服务框架,尽管我建议使用Core Java,这将有助于保持对工具的最小依赖。尽管如此,要使XML和Web服务请求同步,还是需要付出大量的努力。我的看法-如果它没有坏,就不要修复它。

最新更新