`
webcode
  • 浏览: 5940232 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

J2EE中dao层和Service层的理解

 
阅读更多

谈一谈我对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) &amp;&amp; "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>

本文还会再补充。

分享到:
评论

相关推荐

    spring in action英文版

     1.1.1 J2EE开发者的一天  1.1.2 Spring的承诺  1.2 Spring是什么  1.3 开始Spring之旅  1.4 理解反向控制  1.4.1 依赖注入  1.4.2 IoC应用  1.4.3 企业级应用中的IoC  1.5 应用AOP  ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    该案例采用目前最流行、最规范的java ee架构,整个应用分为jpa实体层、eao层、业务逻辑层、mvc层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。该案例既提供了ide无关的、基于ant管理的项目源码...

    Spring中文帮助文档

    3.10. 以J2EE RAR文件的形式部署Spring ApplicationContext 3.11. 基于注解(Annotation-based)的配置 3.11.1. @Autowired 3.11.2. 基于注解的自动连接微调 3.11.3. CustomAutowireConfigurer 3.11.4. @...

    java面试题

    Struts2只是起到一个数据接收和转接的功能,就是Controller控制器,而传来数据的页面叫view显示层,Struts2将数据提交给进行处理的类叫Model模型层,专门进行数据处理和数据库的连接。 heap和stack有什么区别? 答:...

    JAVA核心技术

    框架一般处在低层应用平台(如J2EE)和高层业务逻辑之间的中间层。??软件为什么要分层???为了实现“高内聚、低耦合”。把问题划分开来各个解决,易于控制,易于延展,易于分配资源…总之好处很多啦:)。??3.以下...

    java面试题大全(2012版)

    13、在DAO中如何体现DAO设计模式? 123 14、spring+Hibernate中委托方案怎么配置? 123 15、spring+Hibernate中委托方案怎么配置? 123 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有...

    Java面试宝典2010版

    13、在DAO中如何体现DAO设计模式? 14、spring+Hibernate中委托方案怎么配置? 15、spring+Hibernate中委托方案怎么配置? 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有一个实体类...

    二十三种设计模式【PDF版】

    为能和大家能共同探讨"设计模式",我将自己在学习中的心得写下来,只是想帮助更多人更容易理解 GoF 的《设计模式》。由 于原著都是以C++为例, 以Java为例的设计模式基本又都以图形应用为例,而我们更关心Java在中间件等...

    最新Java面试宝典pdf版

    13、在DAO中如何体现DAO设计模式? 123 14、spring+Hibernate中委托方案怎么配置? 123 15、spring+Hibernate中委托方案怎么配置? 123 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有...

    Spring API

    3.10. 以J2EE RAR文件的形式部署Spring ApplicationContext 3.11. 基于注解(Annotation-based)的配置 3.11.1. @Autowired 3.11.2. 基于注解的自动连接微调 3.11.3. CustomAutowireConfigurer 3.11.4. @...

    《精通Spring2.X企业应用开发详解》20-23

    使用JPA访问数据库 第12章 整合其他ORM框架 第4篇 业务层应用 第13章 任务调度和异步执行器 第14章 JavaMail发送邮件 第15章 在Spring中使用JMS 第16章 在Spring中开发Web Service 第17章 使用...

    《精通Spring2.X企业应用开发详解》16-19章

    使用JPA访问数据库 第12章 整合其他ORM框架 第4篇 业务层应用 第13章 任务调度和异步执行器 第14章 JavaMail发送邮件 第15章 在Spring中使用JMS 第16章 在Spring中开发Web Service 第17章 使用...

    《精通Spring2.X企业应用开发详解》随书源码1-15章

    使用JPA访问数据库 第12章 整合其他ORM框架 第4篇 业务层应用 第13章 任务调度和异步执行器 第14章 JavaMail发送邮件 第15章 在Spring中使用JMS 第16章 在Spring中开发Web Service 第17章 使用...

    Java面试笔试资料大全

    13、在DAO中如何体现DAO设计模式? 123 14、spring+Hibernate中委托方案怎么配置? 123 15、spring+Hibernate中委托方案怎么配置? 123 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有...

    JAVA面试宝典2010

    13、在DAO中如何体现DAO设计模式? 123 14、spring+Hibernate中委托方案怎么配置? 123 15、spring+Hibernate中委托方案怎么配置? 123 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有...

    Java面试宝典-经典

    13、在DAO中如何体现DAO设计模式? 123 14、spring+Hibernate中委托方案怎么配置? 123 15、spring+Hibernate中委托方案怎么配置? 123 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集没有...

    Java面试宝典2012版

    13、在DAO中如何体现DAO设计模式? 123 14、spring+Hibernate中委托方案怎么配置? 123 15、spring+Hibernate中委托方案怎么配置? 123 16. hibernate进行多表查询每个表中各取几个字段,也就是说查询出来的结果集...

Global site tag (gtag.js) - Google Analytics