DAO多表操作的解决思路
一、分层DAO思路
虽然网上有文章表示一个表对应一个DAO并不好,但这里暂时还是尽量一个表一个DAO。这里想说的是,把DAO层细化一下。分成BDAO(底层DAO)和TDAO(顶层DAO),或说成TDAO(表级DAO)和ODAO(对象级DAO)。
1、BDAO
底层DAO主要思路就是一个表对应一个DAO,然后实现CRUD,同时还要给顶层DAO提供暴露conn连接的CUD方法(查询通常不用事务吧)。
2、TDAO
顶层DAO使用底层DAO暴露conn连接的方法,实现多表操作,从而实现事务处理的能力。
这种方法的优点是,代码优美、通俗易懂,缺点是要实现业务逻辑中的每个事务的TDAO,工作量可能会比较大。
二、执行自定义SQL语句
针对当前的DAO,提供一个自定义的方法,该方法提供一个字符串数组参数,每个元素都是一个sql语句,然后在方法体内实现事务,顺次执行字符串数组中的sql语句,成功则提交,否则回滚。
这种方法的优点是,方法简单,缺点是需要业务逻辑编程人员需要保留数据库编程人员协助提供的sql语句,从而使sql语句需要在熟悉不同领域的编程人员之间保持同步(等等)。
***
目前先想到这,以后有时间再把DAO层完善。
分享到:
相关推荐
DAO模式的核心思想是为每个数据表创建一个对应的DAO类,这个类包含了对数据库的所有操作方法。这样做的好处是,当需要修改数据库访问方式时,只需要改动DAO层,而不会影响到业务逻辑层,提高了代码的可维护性和可...
为了解决这些关系,我们可以使用另外两张表来完成,即actiongroup表(权限映射表)和mastergroup表(人员映射表)。actiongroup表映射了权限表与管理组表之间的交互,而mastergroup表映射了人员表与管理组表之间的...
通过这个项目,初学者可以学习到数据结构、算法、以及用户交互等多方面的知识,同时还能体验到编程解决实际问题的乐趣。在实际编码过程中,还可能涉及错误处理、优化性能等方面,这些都是编程实践中不可或缺的技能。
DAO类的注释详细说明了每种操作的功能和使用方法,便于开发者理解和维护。 四、自动批改机制 自动批改功能是系统的核心,它通过比较考生的答案与标准答案来计算得分。这通常涉及字符串匹配、正则表达式或模糊匹配...
### Java核心知识点解析 #### 一、集合操作与去重 ...这些示例仅提供了部分题目的解答思路和技术要点,对于其他题目,可以遵循相似的方法来实现。希望这些解析能够帮助你更好地理解和掌握Java的核心概念和技术。
具体实施时,开发者可以定义XML配置文件来描述数据库连接、表映射、查询等信息,然后在应用中通过解析XML来执行相应的数据库操作。这样,不仅可以减少手动编写SQL的繁琐工作,还可以方便地进行数据库迁移和系统扩展...
1. 数据库模型生成:根据数据库表结构,动软代码生成器可以自动生成对应的数据访问层(DAO)、实体类(Entity)和业务逻辑层(Service)代码。 2. 控制器(Controller)生成:结合前后端交互需求,生成RESTful API...
具体来说,项目需要连接多个数据库,并且不同的客户在每次访问时可能会选择不同的数据库进行查询操作。传统的做法是在Spring和Hibernate框架中配置单一的数据源,这种方式对于单个数据源的场景是可行的,但在需要...
"数据库实验报告.docx"可能详细介绍了数据库的设计思路、表之间的关系以及设计过程中的问题和解决方案。"截图.rar"可能是系统界面的示例,帮助用户理解和使用系统。"Library.rar"可能包含了系统的源代码或编译后的可...
- **方案2:模板解决思路**:将规格参数信息在前端转化为JSON数据,然后提交给后台存储。这种方式简化了数据库设计,但可能需要在前端进行复杂的表单和JSON转换,对JavaScript的编程能力要求较高。JSON数据格式示例...
综上所述,华容道游戏的实现是一个综合性的编程项目,涉及到图形界面设计、事件处理、数据结构、算法运用、游戏逻辑实现、状态管理等多个方面,对提升Java程序员的综合能力大有裨益。通过这样的项目实践,开发者不仅...
3. **模块化设计**:系统被划分为多个小模块,如用户接口模块、数据库操作模块等,这种设计便于代码复用,简化了开发和维护的过程。 4. **用户界面设计**:系统界面设计简洁友好,以提高用户使用体验,快速适应系统...
- **数据访问对象(DAO)/ActiveX数据对象(ADO)**:使用VB内置的DAO或更通用的ADO,连接到Access数据库,执行SQL语句进行数据的CRUD操作。 - **错误处理**:设置适当的错误处理机制,确保程序在遇到异常时能够...
用户表存储用户的基本信息,角色表存储角色定义,权限表则记录具体的操作权限,而角色-权限关联表用于建立角色和权限之间的多对多关系。数据库设计文档详细阐述了这些表的设计思路和字段含义,对于理解和维护系统...
4. **知识整合**:要求参与者结合大学所学的计算机科学知识和个人兴趣,设计并实现一个具有实际功能的网站系统,这涉及到多学科知识的应用,如数据结构、算法、操作系统、网络等。 在实现这个购物网站系统的过程中...
可能包含如职位表、公司表、简历表等多个实体,涉及数据的一对多、多对一、多对多关系。例如,一个职位可能对应多个求职者的申请,而一个求职者可以申请多个职位。 五、DAO(Data Access Object)设计模式 DAO模式...
论文部分可能详细阐述了项目的设计思路、技术选型理由、系统架构、功能模块设计、数据库设计以及实施过程中的问题与解决方案。这部分内容有助于理解整个系统的理论框架和实现细节。 程序部分则包含了实际的源代码,...
本案例则选择了简化代码和系统集成技术,特别是DAO数据源创建方法,以更易于理解和操作的方式构建应用。 系统的主要功能包括基础的数据处理,例如数据录入、增加、修改和删除,同时考虑到用户交互,设计了多对话框...
2. 数据库设计:系统通常会包含教师信息、课程信息、成绩管理、通知公告等多个模块,对应不同的数据库表。例如,教师表可能包括教师ID、姓名、部门等字段;课程表可能包括课程ID、课程名称、学分等字段。 3. 用户...
- **类名** `Dao` 用于连接数据库并处理数据获取,它是数据访问对象(DAO)模式的体现,简化了数据库操作。 - **方法名** `Login()` 设计系统登录界面,是用户进入系统的入口。 - **方法名** `createFrameButton` 为...