一、将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); } }