以前經常用三個包,controller,service,impl,model寫java後臺
model存放各種數據模型,service存放每個模型對應的服務接口,impl存放每個服務的實現,controller存放路由與邏輯。
現在使用基類的方式,只保留model和controller
model
首先,新建一個Baseinfo,存放一些通用的字段與對應的getter、setter,字段有id,創建時間,修改時間,是否禁用等,也可放通用的方法。如把所有字段轉化爲map的toMap方法。
之後的所有model都繼承Baseinfo。
//父類
Map<String, Object> updateMap = new HashMap<String, Object>();
public Map<String, Object> toMap() {
updateMap.put("createdTime", this.getCreatedTime());
updateMap.put("createdName", this.getCreatedName());
return updateMap;
}
//子類
public Map<String, Object> toMap() {
updateMap = super.toMap();
updateMap.put("realname", this.getRealname());
updateMap.put("username", this.getUsername());
return updateMap;
}
controller
控制器也建一個Basecontroller,存放操作SQL的實例,然後寫增刪改查分頁等方法,其中比較關鍵的有兩點
1. Class clazz
這個參數
2. public class BaseController <T extends Baseinfo>{}
model需要繼承Baseinfo作爲參數傳入,之後需要傳入Modle參數的地方都用t代替。
子類控制器,先寫上Class clazz = User.class;
之後把clazz作爲參數傳入BaseController並調用其方法。
業務>MVC
當業務很多的時候,先根據業務分包,每個包裏面一個自己的MVC,而不是三個MVC包,每個包裏面很多業務的控制器服務