阅读991 返回首页    go 阿里云 go 技术社区[云栖]


J2EE中dao层和Service层的理解

 

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直接调用好了。

 

 

最后更新:2017-04-02 06:52:22

  上一篇:go 实战Memcached缓存系统
  下一篇:go oracle exp 常见错误 EXP-00091