举例: 个人信息表,性别( gender )这个字段 0 或者 1, 0 代表男,1 代表女
POJO 类
class Person {
private String name;
private Integer gender;
... 省略 set/get 方法
}
新增的时候通过 html select 方式很容易的实现保存。现在我的问题来了,在页面中需要 显示 性别的时候,需要把 数据库中保存的 0 或者 1 转义成 男 或 女。
这个转义的过程我现在发现有三种方式(有大拿可以分享一下其他的方式):
- 是在 view 中类似 jsp 中进行值转换
- 数据库中建一个 字典,再写一个字典类,根据 字典的 key 值和 value 值转换中文
- 新增一个 PersonVO 类
class PersonVO extends Person {
private String genderName; // 这个是新增的性别转换类
// 增加 get 方法
public String getGenderName() {
return this.gender.equals(new Integer("0")) ? "男":"女";
}
}
以上的方法 :
- 第一个最他妈的笨,不用
- 第二个对于字典的维护比较关键,一旦哪个字典数据被改了,以前保存的数据显示的数据就可晕菜了,字典的维护称为一个重要的事情,程序写起来麻烦,不采用缓存的话,增加数据库访问量,采用缓存还需要管理新增修改后刷新缓存
- 第三个这个方式不知道是好是坏
上述问题不知道是否描述清楚了,请各位大佬给讨论分析一下。