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