一、將service最基礎經常使用的方法抽象到BaseService類,全部service都繼承BaseService,這樣就減小了寫重複的基礎經常使用方法,如:java
public abstract class BaseService<M extends BaseModel<M>> { protected final M dao; protected BaseService(M dao) { this.dao = dao; } /** * 新增 * @return 是否新增成功 */ public boolean add(M model) { return model.save(); } /** * 修改 * @return 是否修改爲功 */ public boolean update(M model) { return model.update(); } /** * 新增或者修改 * @return 是否修改修改爲功 */ public boolean addOrUpdate(M model) { return model.saveOrUpdate(); } }
二、將每一個表基礎經常使用的方法抽象到一個類,這個類繼承了上面的BaseService,如:this
public abstract class BaseUserService<M extends BaseUser<M>> extends BaseService<M> { protected BaseUserService(M dao) { super(dao); } }
三、最底層的的Service只用寫一些改表特殊且不會公用的方法就好啦。code
這裏輸入代碼
public class UserService extends BaseUserService<User> { private UserService() { super(User.dao); } }