jfinal抽象Service方法

一、将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);
	}
}
相关文章
相关标签/搜索