谈一谈我对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>
本文还会再补充。
本文深入探讨了dao层与Service层在软件架构中的角色与功能,阐述了CRUD操作的基本实现及Service层如何整合多个DAO,并通过逻辑判断处理不同业务场景。文章还提及了Service层在复杂查询和操作上的灵活性。
2997

被折叠的 条评论
为什么被折叠?



