mybatis框架,请求实体类中属性赋默认值的问题
最近在写代码的时候,遇到了一个这样的问题,那就是请求实体类中,新增加了一个字段,主要是通过这个字段来判断mybatis中的sql文件具体操作哪一张表,为了保护之前的代码,也为了以较少代价修改之前代码。我是这样写的:
public class Person { private static final String DEFAULT_NAME_VALUE = "丫丫"; private String name;//新增加的字段 private String hobby; //重写了新增加字段的get方法 public String getName() { return this.name == null || "".equals(this.name) ? DEFAULT_NAME_VALUE : this.name; } public void setName(String name) { this.name = name; } public String getHobby() { return hobby; } public void setHobby(String hobby) { this.hobby = hobby; } }
我这种写法虽然将功能实现了,但是写的还是不够美观。公司之前的有资历的同事看了我写的代码还是有一点点小小的失望,于是他经过了简单地修改,让我着实受益匪浅。
经过改正后的代码:
@Setter
@Getter
public class Person { private static final String DEFAULT_NAME_VALUE = "丫丫"; private String name = DEFAULT_NAME_VALUE;//新增加的字段 private String hobby; }
这样写的好处是:代码量明显减少了,看着也比价清晰,思路一下子明确了。同样也不会影响到我们后期给新增加的name属性进行set操作和get操作,如果我们对name属性没有赋值,那么name属性默认取得就是DEFAULT_NAME_VALUE的值。