实际开发中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);
以上代码看得更简洁,另外方法都限制的对象是当前对象,防止误传。