我有一系列属性文件,用于显示各种语言的消息.因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语...
我有一系列属性文件,用于显示各种语言的消息.
因此,根据当前的语言设置,消息可以用英语或法语或德语等显示.
在我的数据库中,我有各种记录,而不是实际值,我把属性文件的键,以便在使用该数据检索记录时,我可以用相应的语言显示消息.
例如.我的数据库中可能有一条记录,如:
约翰|史密斯| 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 – 如何在数据库应用程序中最好地处理多种语言?
- MyBatis框架简介及入门案例详解 2023-03-31
- Java ThreadPoolExecutor线程池有关介绍 2023-05-14
- SpringBoot多环境配置及配置文件分类实例详解 2023-06-10
- mybatis-plus实现自定义SQL、多表查询与多表分页查询语句实例 2023-05-19
- Java结构型设计模式之适配器模式详解 2023-05-24
- JSP静态导入与动态导入使用详解 2023-07-30
- Java Set集合及其子类HashSet与LinkedHashSet详解 2023-01-08
- 基于Spring5实现登录注册功能 2023-05-14
- ShardingSphere解析SQL示例详解 2023-03-22
- Java内存泄露 2023-10-08