Spring的SimpleJdbcTemplate和加载SQL脚本

时间:2012-11-29 08:51:21

标签: sql spring jdbc

我有一个包含许多方法的DAO,每个方法都包含一个要执行的SQL语句。我不想将SQL字符串硬编码到DAO Java类中,那么管理这种情况的最佳方法是什么?我正在考虑注射它们,但最好如何做到这一点?

干杯, 马特

1 个答案:

答案 0 :(得分:2)

您可以在应用程序初始化期间注入SQL语句。

class MyDAO {
   private String someQuery;

   public void setSomeQuery(String someQuery) {
       this.someQuery = someQuery;
   }

}

然后,您可以将您的SQL语句保存在XML文件中,而不是硬编码。

<bean class="some.package.MyDAO">
    <property name="someQuery">
        <value>
            SELECT * FROM user WHERE id = ?
        </value>
    </property>
</bean>

您甚至可以将SQL语句外部化为.properties个文件。

看看:http://www.summa-tech.com/blog/2009/04/20/6-tips-for-managing-property-files-with-spring/