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