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

 

 

目录
相关文章
|
2月前
|
Java 数据库 Spring
services层和controller层
Controller层和Services层是现代Web应用程序中的两个关键层次。Controller层负责处理客户端请求和生成响应,而Services层负责实现业务逻辑和数据操作。通过将职责明确分离,可以提高代码的可维护性、可扩展性和测试性。希望本文能帮助您更好地理解这两个层次及其实现方法,并在实际开发中应用这些最佳实践。
90 1
|
5月前
|
设计模式 Java 测试技术
分层设计:Service 层真的需要实现接口吗?
【8月更文挑战第4天】在软件开发领域,分层设计是一种广泛应用且高效的设计模式,它通过将系统划分为不同的逻辑层(如表现层、服务层、数据访问层等),来提高代码的可维护性、可扩展性和可测试性。其中,Service层作为业务逻辑处理的核心,其设计尤为重要。那么,Service层是否真的需要实现接口呢?这个问题值得我们深入探讨。
190 8
|
7月前
|
Java
java工具类调用service层,mapper层
java工具类调用service层,mapper层
142 1
|
8月前
|
SQL Java 数据库连接
Dao层和Mapper层
Dao层和Mapper层
928 0
|
8月前
|
SQL 前端开发 Java
java为什么要分为service层,dao层,controller层和Entity层等?
java为什么要分为service层,dao层,controller层和Entity层等?
268 0
|
存储 前端开发 Java
Service 层异常抛到 Controller 层处理还是直接处理?
Service 层异常抛到 Controller 层处理还是直接处理?
446 1
|
SQL 前端开发 Java
DAO层和Service层的究极理解--这波我在大气层
DAO层和Service层的究极理解--这波我在大气层
283 0
|
前端开发 Java Spring
controller层注入的service为null
controller层注入的service为null
189 0
|
SQL Java 程序员
为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层
为啥SpringBoot更多普遍采用Controller+Service接口层+ServiceImpl接口实现层
453 0
|
SQL 前端开发 JavaScript
JAVA框架的层级和各层理解 controller,service,dao,mapper,model等层和各包的作用
JAVA框架的层级和各层理解 controller,service,dao,mapper,model等层和各包的作用
1091 0