我有一个包含许多方法的 DAO,每个方法都包含要执行的 SQL 语句。我不想将 SQL 字符串硬编码到 DAO Java 类中,那么管理这种场景的最佳方法是什么?我正在考虑注射它们,但如何最好地做到这一点?
干杯,马特
您可以在应用程序初始化期间注入您的 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/