作者:泰有趣 | 来源:互联网 | 2023-10-11 16:14
在实际运用中我们会遇到在数据库中加入用户出生年份,而界面想要显示年龄的需求。针对这个需求可以有多种实现方式,其中一个是在数据库查询语句中计算,如下:
select distinct u.*, CAST(DATE_FORMAT(NOW(),'%Y') AS UNSIGNED INTEGER)-u.BIRTH_YEAR AS BIRTH_AGE from user as u;
但这种方式不方便处是如果有多个查询语句,就需要在每个查询语句处修改,如果在实体UserVO中计算,就只需要在实体中添加方法,如下:
private Integer birthYear;//出生年份
public Integer getBirthYear() {
return birthYear;
}
public void setBirthYear(Integer birthYear) {
this.birthYear = birthYear;
}
public Integer getBirthAge() {
Calendar a=Calendar.getInstance();
int year1 = a.get(Calendar.YEAR);//得到年
Integer yy2 = null;
if (birthYear != null){
int year2 = this.birthYear.intValue();
int yy = year1-year2;
yy2 = new Integer(yy);
}
return yy2;
}