如何 - 在其中加载带有格式化sql的属性文件?

时间:2012-07-31 14:22:07

标签: java sql properties-file

我的应用程序需要外部化查询,因此为了使用默认的resourcebundle,我决定使用属性文件中的查询。所以,这是属性文件现在的样子:

SELECT_USER_QUERY = Select username, userid from user where userid=?

INSERT_USER_QUERY = insert into user values (?,?)

这里的问题显然不是一个showstopper - 这个属性文件被拾取并得到很好的处理,但是对于有人在不久的将来编辑,它看​​起来很难看。我想要这样的东西:

SELECT_USER_QUERY = select username, userid
                    from user
                    where userid=? 

我想在我的属性文件中看到格式化。我认为一种方法是在每一行的末尾引入一个“\”(根据SO的一些答案)。有没有其他方法可以在属性文件中保留格式并仍然成功加载它?

3 个答案:

答案 0 :(得分:3)

只需在行尾添加\,不得将其解释为换行符。 没有其他方法可以保留属性文件中的格式(换行符)

答案 1 :(得分:2)

没有理由将自己局限于属性文件。为什么不简单地将上面的内容存储在一个文本文件中,并且每个查询/语句都有(例如)一个文本文件?这样,有人可以编辑文本文件,而不必担心属性样式的格式化。

答案 2 :(得分:0)

确定。我认为一种方法(我很可能会这样做)是在属性文件中编写所有查询,但每个查询值跨越多个格式化的行。我将使用自定义ResourceBundle以自定义方式加载这些属性。这样,我可以确保在属性文件中存在格式,并使用ResourceBundle确保代码方式加载属性。