NutzCN Logo
问答 org.nutz.service.EntityService类 加方法
发布于 2861天前 作者 邓华锋 1906 次浏览 复制 上一个帖子 下一个帖子
标签:

实际开发中Service层包含了增删改查等方法,例如:

@IocBean(fields="dao")
public class UserService extends IdEntityService<User> {
}

目前调用UserService执行增删改查代码片段:

User user=new User();
user.setUsername("sssss");
userService.dao().insert(user);
user.setUsername("aaaa");
userService.dao().update(user);
userService.dao().fetch(user);
userService.dao().delete(user);

首先代码看起来有点冗长,另外这些方法没法限制传的对象是当前对象,所以需要在org.nutz.service.EntityService增加以下方法:

    public T insert(T obj){
    	return dao().insert(obj);
    }
    
    public T fastInsert(T obj){
    	return dao().fastInsert(obj);
    }
    
    public T insert(T obj, FieldFilter filter){
    	return dao().insert(obj,filter);
    }
    
    public T insert(T t, boolean ignoreNull, boolean ignoreZero, boolean ignoreBlankStr){
    	return dao().insert(t,ignoreNull,ignoreZero,ignoreBlankStr);
    }
    
    public T insertWith(T obj, String regex){
    	return dao().insertWith(obj,regex);
    }
    
    public T insertLinks(T obj, String regex){
    	return dao().insertLinks(obj,regex);
    }
    
    public T insertRelation(T obj, String regex){
    	return dao().insertRelation(obj,regex);
    }
    
    public int update(T obj){
    	return dao().update(obj);
    }
    
    public int update(T obj, String regex){
    	return dao().update(obj,regex);
    }
    
    public int updateIgnoreNull(Object obj){
    	return dao().updateIgnoreNull(obj);
    }
    
    public T updateWith(T obj, String regex){
    	return dao().updateWith(obj,regex);
    }
    
    public T updateLinks(T obj, String regex){
    	return dao().updateLinks(obj,regex);
    }
    
    public int delete(T obj){
    	return dao().delete(obj);
    }
    
    public int deleteWith(T obj, String regex){
    	return dao().deleteWith(obj,regex);
    }
    
    public int deleteLinks(T obj, String regex){
    	return dao().deleteLinks(obj,regex);
    }
    
    public T fetch(T obj){
    	return dao().fetch(obj);
    }
    
    public T fetchLinks(T obj, String regex){
    	return dao().fetchLinks(obj,regex);
    }
    
    public T fetchLinks(T obj, String regex, Condition cnd){
    	return dao().fetchLinks(obj,regex,cnd);
    }
    
    public T clearLinks(T obj, String regex){
    	return dao().clearLinks(obj,regex);
    }
    
    public void setExpert(T obj) throws Exception{
    	 dao().setExpert(obj);
    }

加了之后再看下执行增删改查代码片段:

User user=new User();
user.setUsername("sssss");
userService.insert(user);
user.setUsername("aaaa");
userService.update(user);
userService.fetch(user);
userService.delete(user);

以上代码看得更简洁,另外方法都限制的对象是当前对象,防止误传。

2 回复

嗯嗯,要不发个pull req吧

来自炫酷的 NutzCN

添加回复
请先登陆
回到顶部