dao层
最基本的CRUD操作,方法体里的内容一两句代码搞定。如this.save(student)等等。
Service层
①可能调用多个dao。有一个Service,叫StudentService。比如存进去一个Student,利用的是StudentDao。要把存入Student这个操作,记录到系统日志里面,还要调用LogDao。这样就需要把两个Dao注入到StudentService里面。
②可能加入了逻辑判断。比如存入一个student对象,那么这个student对象可能是“添加”操作传来的,还是“更新”做操作传来的呢?那么就要加入逻辑判断:
public void add(Student s)
{
stuDao.save(ry);
LOG log = new LOG();
log.setCreator(s.getCreator());
log.setName("学生管理");
log.setTime(Utility.GetTime());
log.setDetial("录入学生信息 ID: " + s.getId() + ",姓名: " + s.getName);
logDao.add(log);
}
public String saveStudent(String type, Student s)
{
String result = "";
if (StringUtil.checkNotNull(type) && "add".equals(type))
{
add(s);
result = "添加成功";
}
return result;
}
有些很灵活较,较复杂的查询,五花八门的,干脆就在dao里面写好,Service直接调用好了。