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

 

 

目录
相关文章
单笔转账报错PAYEE_NOT_EXIST(收款账户不存在)-排查方案
报错原因 接口中用户账户参数设置存在问题,导致显示用户收款账户不存在。 排查方案 1、检查payee_account, payee_type是否匹配,如匹配,请检查payee_account是否存在; (1)payee_type设置要求 ALIPAY_USERID:支付宝账号对应的支付宝唯一用户号。
4019 12
|
11月前
|
调度 开发者 Python
python超详细的日期操作【建议收藏备用】
python超详细的日期操作【建议收藏备用】
147 0
midjourney 角色一致性, 衣服和脸, 我全都要, 也可以只保持脸部, 这通常用于模特换衣服
保持人物一致性的前提下, 可以做到换衣服, 换脸, 换背景, 换姿势, 统统换一遍,蓦然回首, 那人依旧还是那个人
485 0
|
机器学习/深度学习 编解码 自然语言处理
SAM究极进化版开源 | SAM与CLIP互相学习,带来最强Open-Vocabulary SAM,万物皆可
SAM究极进化版开源 | SAM与CLIP互相学习,带来最强Open-Vocabulary SAM,万物皆可
872 0
|
计算机视觉
[QT5&OpenCV] 边缘检测、轮廓提取及轮廓跟踪
[QT5&OpenCV] 边缘检测、轮廓提取及轮廓跟踪
701 0
|
存储 缓存 运维
从零开始入门 K8s | 调度器的调度流程和算法介绍
Kubernetes 作为当下最流行的容器自动化运维平台,以声明式实现了灵活的容器编排,本文以 v1.16 版本为基础详细介绍了 K8s 的基本调度框架、流程,以及主要的过滤器、Score 算法实现等,并介绍了两种方式用于实现自定义调度能力。
从零开始入门 K8s | 调度器的调度流程和算法介绍
|
存储 JSON 弹性计算
减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
以“基础设施即代码”的理念代替“重复劳动”。
21729 0
减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
|
存储 Java 视频直播
OSS 解决方案篇-OSS 结合 视频直播使用
OSS 作为多媒体的使用,不仅能结合媒体处理使用,也可以结合视频直播,作为 录制、截图的存储原站;
3201 0
OSS 解决方案篇-OSS 结合 视频直播使用
|
存储 算法 虚拟化
阿里云混合云备份服务
随着企业信息化程度越来越高以及业务的快速发展,各类数据成指数级增长,数据安全对企业的成功和业务的持续运营变得越来越重要。如何保证重要业务数据的可靠性,确保在出现灾难或者操作失误的情况下,能找回以前的数据拷贝,如何在最短的时间窗口完成数据的快速备份,如何实现备份数据的异地容灾存放,这些挑战让企业IT管理者不得不重新审视重要业务数据的保护方法。
2850 0
|
机器学习/深度学习 物联网 编译器