3

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

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

INSERT_USER_QUERY = insert into user values (?,?)

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

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

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

4

3 回答 3

3

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

于 2012-07-31T14:27:40.843 回答
2

没有理由将自己限制在属性文件中。为什么不简单地将上述内容存储在一个文本文件中,并为每个查询/语句提供一个(比如说)一个文本文件?这样人们就可以编辑文本文件,而不必担心属性样式的格式。

于 2012-07-31T14:28:10.910 回答
0

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

于 2012-07-31T18:24:41.297 回答