- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
主要内容 DAO设计模式 DAO设计模式是属于Java EE数据层的操作,使用DAO设计模式可以简化大量的代码编写和增加程序的可移植性。 回忆之前使用JDBC操作数据库,都是在JSP页面中写JDBC代码,或者借助于Java Bean实现,这样导致JSP页面中包含大量的HTML代码和Java代码,显示和功能代码混合在一起,难以维护,程序的可读性也较差。 由于在JSP页面中需要JDBC,还要导入java.sql.*”包。这样的设计非常不合理。 JSP页面仅用来作表现层,即关注数据的显示,不需要关注数据从何处而来,如何获取这些数据。 DAO设计模式组成部分 使用DAO设计模式可以很好地解决上述问题,DAO设计模式包括下面几部分: (1)DAO接口; (2)DAO实现类; (3)DAO工厂类; (4)VO类; (5)数据库连接类 DAO五部分详解之数据库连接类 数据库连接类的主要功能是连接数据库并获得连接对象,以及关闭数据库等。 通过使用数据库连接类,可以大大简便开发,在需要进行数据库连接时,只需创建该类的实例,并调用其中的方法就可以获得数据库连接对象,不必再进行重复的操作。 DAO五部分详解之VO类 VO类是一个包含属性与表中字段完全对应的类,在该类中提供了setter和getter方法来设置并获取该类中的属性。 DAO五部分详解之DAO接口 DAO接口中定义了所有的用户操作,如添加记录、修改、删除、查找(CRUD)等,不过是接口,定义的都是抽象方法,需要实现类去具体实现这些方法。 DAO五部分详解之DAO实现类 DAO实现类实现了DAO接口,并实现了DAO接口中所有抽象方法,在DAO实现类中通过数据库连接类操作数据库。 DAO五部分详解之DAO工厂类 在没有DAO工厂类的情况下,必须通过创建DAO实现类的实例来完成数据库操作。这里就必须知道具体的子类,对于后期的修改非常不便。 如后期要创建一个操作Oracle的DAO实现类,这里就必须修改所有的DAO实现类的代码。 使用DAO工厂类就能解决这个问题,可以通过该DAO工厂类的一个静态方法来获得实现类的实例。这里如果需要替换DAO实现类,只需要修改DAO工厂类中的方法代码,而不必修改所有的操作数据库代码。 用户不需要知道底层的具体实现,只需要操作接口;同时实现了前台和后后台的分离;(DAO中只需要操作对象);有利于代码的重用.(如果用户需要增加新的功能时候,我只需要在DAO这接口中添加的抽象的方法,然后在DAOImpl中实现用户所增加的功能,就能很好的完成添加用户功能的。 ? DAO的整体设计流程: JSP---DAO工厂--具体实现类--完成数据库 的具体操作 使用DAO完成数据库操作 (1)添加记录 (2)更新记录 (3)删除记录 (4)查找记录 DAO 设计的类和页面 1、VO:值对象,即POJO,普通JAVABEAN 或者是传输对象(TO) 2、接口:用来定义有哪些操作的比如:CURD 3、接口的实现类 4、数据库连接池类通常内部采用预编译形式即: PreparedStatement 5、工厂类 6、前台页面 DAO整体设计是采用以下模式: 调用处--- 工厂模式-----具体子类实现---- 完成数据库操作 |-----------------------VO(值对象)-------------------------| 为什么使用DAO模式 1. 数据存储逻辑的分离 通过对数据访问逻辑进行抽象,为上层机构提供抽象化的数据访问接口。业务层无需关心具体的select,insert,update操作,这样,一方面避免了业务代码中混杂JDBC调用语句,使得业务落实实现更加清晰,另一方面,由于数据访问几口语数据访问实现分离,也使得开发人员的专业划分成为可能。某些精通数据库操作技术的开发人员可以根据接口提供数据库访问的最优化实现,而精通业务的开发人员则可以抛开数据曾德繁琐细节,专注于业务逻辑编码。 2. 数据访问底层实现的分离 DAO模式通过将数据访问计划分为抽象曾和实现曾,从而分离了数据使用和数据访问的地称实现细节。这意味着业务层与数据访问的底层细节无关,也就是说,我们可以在保持上层机构不变得情况下,通过切换底层实现来修改数据访问的具体机制,常见的一个例子就是, 我们可以通过仅仅替换数据访问曾实现,将我们的系统部署在不同的数据库平台之上。 3. 资源管理和调度的分离 在数据库操作中,资源的管理和调度是一个非常值得关注的主题。大多数系统的性能瓶颈往往并非集中于业务逻辑处理本身。在系统涉及的各种资源调度过程中,往往存在着最大的性能黑洞,而数据库作为业务系统中最重要的系统资源,自然也成为关注的焦点。DAO模式将数据访问逻辑从业务逻辑中脱离开来,使得在数据访问层实现
您可能关注的文档
最近下载
- 中央空调净化系统标准规范操作规程.doc VIP
- 神志病中西医结合临床诊疗指南-精神分裂症.pdf VIP
- 混凝土重力坝施工课件.pptx VIP
- 辽宁省大连市2025届高三上学期双基测试数学试卷含答案.pdf VIP
- 2025-2026学年赣美版(2024)小学美术三年级上册《创意美术字》教学设计.docx
- 2.2 大气受热过程和大气运动(精品课件)-【居易课堂】2021-2022学年高一地理同步备课优质课件(人教2019必修第一册).pptx VIP
- 杜邦dupont芳纶凯夫拉kevlar应用领域.pdf VIP
- 细胞生物学(第五版)-第8章细胞骨架.ppt VIP
- InCAM Pro基础入门篇(中文).pdf VIP
- 2024届辽宁省大连市高三上学期期末双基测试化学试题及答案.pdf VIP
文档评论(0)