我有一系列属性文件,用于显示各种语言的消息.因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语...

我有一系列属性文件,用于显示各种语言的消息.
因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.
在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语言显示消息.
例如.我的数据库中可能有一条记录,如:
约翰|史密斯| AQ |等等
其中相应属性文件中的AQ可以显示为Doctor或Arzt等.
我的问题是我需要通过这些属性进行排序,这些属性的数据库中的值虽然是代码,因此无法在数据库中进行排序.
从here开始,我得到了使用临时表和排序的建议,但对于1个属性,这对我来说很好.
我正在寻找一个更通用的解决方案来处理多个属性文件,并避免在可能的情况下检查代码:
例如如果此查询在X上排序,则创建此临时表等.
对此有一般的解决方案吗?
解决方法:
而不是将语言信息存储在属性文件中,而是将其存储在数据库的表中.然后它可以很容易地完成.
Records:
first | last | messageid |
John | Smith | 1 |
Messages:
messageid | language | message |
1 | English | Mr. |
1 | Spanish | Sr. |
2 | English | Doctor |
etc...
然后按本地语言按消息排序的查询将如下所示:
select first, last, message from records r
inner join messages m on m.messageid = r.messageid
where language = [your current language]
order by message
本文标题为:java – 如何在数据库应用程序中最好地处理多种语言?


基础教程推荐
- Spring 事务隔离与事务传播的详解与对比 2023-07-31
- java 如何把byte转化为KB、MB、GB的方法 2023-06-06
- 关于spring循环依赖问题及解决方案 2023-02-04
- Mybatis结果集映射与生命周期详细介绍 2023-06-10
- 使用SpringBoot+EasyExcel+Vue实现excel表格的导入和导出详解 2023-04-22
- java – 在数据库中使用foreach进行多次插入是一个好习惯吗? 2023-11-01
- Java使用HttpClient实现文件下载 2023-04-12
- Java实现字符串的分割(基于String.split()方法) 2023-06-05
- Java中的Kotlin 内部类原理 2023-01-12
- Java面试必备之JMM高并发编程详解 2023-03-06