-
java web 项目,DAO层应该如何设计5
公司的项目基本上一个domain就对应一个dao接口和一个实现daoImpl,可是我想了好一阵子都没想出这有什么好,我的想法是:domain继承于EntityBase,然后用一个dao,方法是通用增删改查方法和执行原生SQL语句的方法以及调用存储过程的方法等,参数用泛型<T extneds EntityBase>,复杂的业务全部定义在service中,在service中组合dao里面的方法,就不用给每一个domain定义dao实现了,求过来人指点下2014年7月26日 15:17
5个答案 按时间排序 按投票排序
-
采纳的答案
其实这样设计是为了降低类之间的耦合,
你说的 那种抽象出来但是耦合性太大
你可以看下jpa的现在设计,他的repository的设计的 就是体现出来了
现在大部分框架都是尽量低耦合的,你看下这个文章:
http://www.cnblogs.com/tiwlin/archive/2010/02/24/1672459.html2014年7月26日 18:29
-
你这样的想法也行如果你这想法能满足你的需要就这样干!
个人的一个思路: 你可以分4层 action(处理请求)--》service(处理逻辑)--》manger(编写动态sql)——》dao(传入动态sql去执行)2014年7月27日 13:50
-
因为大多数时候所需的sql是不规整的,四五个通用的简单dao的api满足不了需求,不过话说回来如果前人已经封装好了,估计谁都乐意用,没有现成的嘛大部分人就不太愿意在眼前的项目工时中去做这种基础建设咯。
2014年7月26日 18:13
-
你这个想法是对的,善于抽象,省了不少复杂的代码,省去了每一个dao都要重复的继承框架的Support实现类(hibernateDaoSupport),我们公司的代码基本上是这么干的。
2014年7月26日 16:55
相关推荐
DAO(Data Access Object)设计模式是Java Web开发中常用的一种设计模式,它的主要目的是将业务逻辑与数据访问操作分离,提高代码的可复用性和可维护性。在本精讲中,我们将深入探讨DAO设计模式的原理、实现方式以及...
2. MyBatis:MyBatis是一个持久层框架,它简化了SQL操作,通过XML或注解的方式将SQL与Java代码绑定,实现了DAO层的便捷开发。 3. Struts2:Struts2是一个基于MVC设计模式的Java Web框架,提供了动作(Action)和结果...
总结,DAO层是Web应用中不可或缺的部分,其设计和实现直接影响系统的稳定性和扩展性。通过合理运用设计模式、ORM框架、事务管理以及性能优化策略,我们可以创建高效、健壮的DAO层。同时,借助各种开发工具和测试手段...
Java网络编程 JAVA web开发实例讲解 宠物分类展现web项目 第04章 用Hibernate优化宠物分类展现DAO类(共33页).ppt Java网络编程 JAVA web开发实例讲解 宠物分类展现web项目 第05章 宠物分类展现模块的第一个动态...
在Java Web开发中,MVC(Model-View-Controller)三层架构和DAO(Data Access Object)工厂模式是两种常见的设计模式,它们对于构建高效、可维护的系统至关重要。本项目结合这两种模式,旨在提高代码组织的清晰度和...
首先,DAO层是应用程序和数据库之间的抽象层,它的主要职责是执行SQL操作,将数据库操作封装在Java方法中,以提供数据的增删查改功能。在Java中,我们可以创建一个DAO接口和它的实现类,如`UserDao.java`和`...
本文主要探讨Spring如何贯穿整个中间层,将Web层、Service层、DAO层以及PO(Plain Old Java Object)无缝整合起来。 #### 二、Spring框架的关键作用 1. **无缝整合**:Spring框架的一个显著特点是能够将不同的技术...
1. **MVC设计模式**:在Java Web开发中,Model-View-Controller(模型-视图-控制器)是常用的设计模式,用于分离业务逻辑、数据展示和用户交互。系统中的各个组件很可能按照这一模式进行组织。 2. **Servlet与JSP**...
1. `src/main/java`:存放Java源代码,可能有controller(控制器)、service(服务层)、dao(数据访问对象)、model(模型)等包。 2. `src/main/resources`:存储配置文件,如application.properties或yml,数据库...
通过学习和研究这个"MedicineManager"项目,你不仅可以深入了解Java Web开发的基本流程,还能掌握数据库设计、MVC架构、DAO模式等核心概念,对于提升你的Java Web开发技能大有裨益。同时,这也是一个实践项目,可以...
通过阅读和研究这些源码,开发者可以学习到如何在实际项目中整合SSH框架,如何设计数据库模型,以及如何编写控制器、服务层和DAO(Data Access Object)层的代码。 5. **实践应用** 掌握这些知识点后,开发者可以...
Spring MVC是Java领域最流行的MVC实现框架,源码中可能包含DispatcherServlet、Controller、Service和DAO层的设计。 4. **Spring框架**:Spring是Java企业级应用的事实标准,提供了依赖注入(DI)和面向切面编程...
Java Web三层架构是一种常见的软件设计模式,用于构建可扩展、可维护且易于测试的Web应用程序。这个模式将应用逻辑划分为三个主要层次:表现层(Presentation Layer)、业务逻辑层(Business Logic Layer)和数据...
4. **Mapper**:在MyBatis框架中,Mapper接口定义了SQL查询和更新语句,实现了DAO层与SQL的绑定。Mapper XML文件则存放具体的SQL语句,与Mapper接口一一对应。 5. **Service**:服务层是业务逻辑的承载者,它调用...
Service层和DAO层是软件开发中常见的两种设计模式,主要用于分离业务逻辑和数据访问操作。在Java Web开发中,它们通常被应用于三层架构或MVC(Model-View-Controller)模型中。 DAO(Data Access Object)层是负责...
【Java Web项目系统2013521】是一个针对初学者设计的教育资源,旨在深入讲解面向对象编程的基础核心概念,这些概念对于后续学习Java EE(企业级应用)和Java ME(微型版应用)至关重要。这个项目的重点在于通过实际...
而“java Web项目”则表明其使用的是Java语言和相关Web开发框架,如Spring Boot或Spring MVC,这通常涉及到MVC设计模式、RESTful API设计、Session和Cookie管理等。 【文件名称列表】:su 由于只给出了“su”这一...
【Java Web项目开发案例精粹17-学生信息管理系统】是一个专为初学者设计的实践教程,旨在帮助他们掌握Java Web应用开发的基本技能。在这个项目中,开发者将学习如何构建一个能够管理学生信息的系统,这包括添加、...
6. **性能优化**:在实际项目中,DAO层还会涉及到性能优化,例如使用预编译的SQL(PreparedStatement),批处理(Batch Update)等技术来提高数据访问效率。 7. **测试**:由于DAO层与具体的数据库操作解耦,我们...
在Web应用开发中,JSP(JavaServer Pages)通常用于展示视图,而业务逻辑和数据访问则应该被分离出来以提高代码的可维护性和可扩展性。DAO(Data Access Object)设计模式就是解决这一问题的有效方式,它将数据库...