使用属性文件或数据库来存储最佳方法的值?

时间:2013-12-11 12:35:22

标签: java properties configuration sms

应用程序是在多租户支持下开发的,我需要向用户发送短信,我需要使用用户手机号码附加国家/地区拨号代码。

我的问题是,有一个单独的列来存储国家/地区表中的国家/地区拨号代码是一种好方法,还是在属性文件中使用国家/地区代码是一种好方法?

一般来说,我们将在属性文件中存储哪种值(如数据库配置设置)?

4 个答案:

答案 0 :(得分:0)

只需将数据库连接详细信息放在属性文件和数据库中的其他所有内容中。如果您运行多个具有共享或复制数据库的应用程序服务器,这将确保在任何地方都可以获得相同的数据 - 这可能不是现在考虑的因素,但是未来有任何危害!

答案 1 :(得分:0)

基本上,这取决于您的数据有多大。通常,在使用Swing应用程序时,将所有已翻译的文本放在可能包含大约1000个属性的属性文件中。 但是,如果您的数据包含数万个条目,那么数据库将更有意义且更易于维护。

由于您的项目中已有数据库,我建议您使用该数据库并将国家/地区代码添加到数据库中。

答案 2 :(得分:0)

根据您的使用案例,我了解您需要在运行时存储/检索国家/地区代码。

通常我们使用属性文件来使用户能够配置外部值(例如,连接属性,输出文件夹)。属性对非GUI应用程序非常有用。

但是这里的国家/地区代码很可能无法更改,您可以将它们存储在数据库中,最重要的是您可以添加一个缓存层,使您可以一次性获取。因此,您可以确保提高性能。

答案 3 :(得分:0)

这取决于您认为与您合作的应用程序。有效地获得你想要的结果。例如:可以根据检索时间和选择进行选择。变更/编辑的频率。

a。 Times of retrieval is high - Avaoid multi times hit on DB-table

如果它在属性文件中维护,则可以通过加载文件使用java.util.Properies进行撤消。如果你在一些带有一些ant构建的jsp页面中使用相同的信息,通过使用ant的属性ant任务作为ant属性读取很容易。如果多个子应用程序/模块使用相同的信息,那将非常有用。

b。 Frequency of edits is high & retrieval is like one time in application.

如果要在数据库表映射中维护数据&如果某些共享应用程序/项目使用它,那么它在可维护性方面会有所帮助。

根据国家/地区命中数据库或获取所有值&根据需求使用/迭代