1、将service最基础常用的方法抽象到BaseService类,所有service都继承BaseService,这样就减少了写重复的基础常用方法,如:
public abstract class BaseService> { 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(); }}
2、将每个表基础常用的方法抽象到一个类,这个类继承了上面的BaseService,如:
public abstract class BaseUserService> extends BaseService { protected BaseUserService(M dao) { super(dao); }}
3、最底层的的Service只用写一些改表特殊且不会公用的方法就好啦。
这里输入代码
public class UserService extends BaseUserService{ private UserService() { super(User.dao); }}