mybatis框架,請求實體類中屬性賦預設值的問題
阿新 • • 發佈:2022-03-05
最近在寫程式碼的時候,遇到了一個這樣的問題,那就是請求實體類中,新增加了一個欄位,主要是通過這個欄位來判斷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的值。