组织JDBC项目

时间:2011-03-19 21:03:37

标签: java java-ee

我有一些非常长的SQL语句需要通过JDBC运行。我想知道组织它们的最佳程序是什么?我应该创建一个单独的类,将它们定义为变量,并从我的主应用程序类中引用这些类变量吗?

或者我应该将它们放入应用程序类并处理难以阅读的内容?

任何帮助都会很棒。

4 个答案:

答案 0 :(得分:2)

我不喜欢单独文件的想法。我把它们放在他们使用的文件中,因为我不想去其他地方只是为了弄清楚数据库在做什么。

我会让它们成为静态的最终字符串,所以我不会每次都重新创建它们。如果您正在连接或使用StringBuilder,那么您可能做错了。

我一定会到处使用PreparedStatements。你可以安全地使用SQL注入,你的代码也会更好。

使用数据访问对象模式为对象建立CRUD接口:

public interface FooDao<K, T>
{
   T find(Long id);
   List<T> find();
   K save(T instance);
   void delete(T instance);   
}

答案 1 :(得分:0)

我能想到的将它们保持在一起的一个好处是,如果您更改数据模型,则很容易转到查询所在的位置并找到受影响的查询。

如果你有少量的查询,我不会太担心,只需格式化它们就可以轻松读取(无论你使用哪种方法都可以!)

如果你想使用class-with-string-variables路由,如果你的查询数量很大(> 100),那么我会把它们分成几个不同的类。

答案 2 :(得分:0)

可以将脚本存储在您从应用程序中读取的单独文件中。如果脚本是SQL,那么为它们提供单独的文件将使它们可以直接运行以进行调试。

如果您有大型查询语句,还可以定义视图。

答案 3 :(得分:0)

我认为最简单的方法是从文件中读取SQL(如果有很多),或者制作一堆预处理语句而不包装它们。