- 4
- 0
- 约3.7千字
- 约 32页
- 2019-10-11 发布于广东
- 举报
12.2.3 DAO层
任何对于数据库的操作都需要通过DAO类完成,但对于所有的DAO写法都类似,无非就是表名和字段名不同而已。
为了代码能够重用,减少代码工作量,我们把DAO类加以抽象,编写一个通用的数据库访问类,所有操作均由该基础DAO类完成。
由于在这个类中要用到对指定的对象(不能事先确定)属性进行赋值,为了避免使用Java反射机制编写代码的麻烦,这里采用了Apache的BeanUtils这一工具类,而BeanUtils工具类又用到了日志类和集合类,
因此需要导入以下JAR包:
◆ commons-beanutils-1.9.3.jar
◆ commons-beanutils-1.9.3-javadoc.jar
◆ commons-logging-1.2.jar
◆ commons-logging-1.2-javadoc.jar
◆ commons-collections-3.1.jar
需要将以上JAR文件复制到WebContent/WEB-INF/lib目录中。
因为还要访问数据库,所以还要访问数据的JAR包,在这个实例中采用MySQL数据库,所以还需要将mysql-connector-java-5.1.37-bin.jar文件复制到lib目录中。
DAO层主要实现的基本功能
◆ 获取数据库连接;
◆ 关闭连接对象(连接对象、语句对象和ResultSet对象);
◆ 执行增/删/改功能的方法;
◆ 执行查找或按条件查找的方法。
有了以上的基本方法就可以实现数据库操作了,如果还需要其他的DAO功能,则可以通过以上基本方法进行组合实现。
最后需要注意一点,那就是“Java类的属性名要与数据库表的字段名保持一致,通用DAO类才能赋值成功!”。
12.2.4 公共传输层
在MVC模型中并没有传输层的概念,这是为描述项目结构方便引入的一种Java类的分类方法。
所谓的传输层公共类指的是在各层(DAO层、业务逻辑层、控制层)间传递(或流动)的Java类,这里包括业务实体类和Java的集合类,如List集合等。
这些类与DAO层的类紧密相关,但有本质的区别:
DAO类负责与数据库的交互,而传输层的类则主要在各层之间传递和流动,所以划分到公共传输层。
在这个实例中,涉及到以下业务实体类:
◆ Clazz——班级类,包括班级编号和班级名称。
◆ Course——课程类,包括课程编号、课程名称、开设学期等。
◆ SelCourse——选课类,包括选课编号、选修的学生、选修的课程、选课学期和成绩等。
◆ Student——学生类,包括学号、姓名、性别、登录密码等。
◆ Teacher——教师类,包括工号、姓名、登录密码等。
除上面这些业务实体类之外,还包括Java的集合类,主要是List也是传输层的重要组成部分。
这些类的源代码在第12章\AjaxSyn\src\com\phoenix\bo目录中。
12.2.5 JavaScript工具类
这个工具类属于视图层的一部分,主要通过它以兼容浏览器的方式创建异步请求对象、添加事件处理函数、清空显示容器、显示处理结果和创建数据表格等功能。
在项目的WebContent目录下,新建以下文件夹:
◆ js——存放js文件的目录;
◆ css——存放css文件的目录;
◆ img——存放图片的目录。
这样就可以实现对内容、样式和动作的分类管理,利于项目将的来扩展和维护。
在js文件夹中新建utils.js文件,在其中输出实现基本功能的函数:
◆ addEvent(elem, eventType, func)——实现跨浏览器注册事件处理函数;
◆ removeEvent(elem, eventType, func)——实现跨浏览器注销事件处理函数;
◆ showTip(msg, obj)——实现处理结果的消息,显示时间为3秒钟;
◆ createRequest()——实现跨浏览器创建异步请求对象XMLHttpRequest;
◆ empty(con)——实现清空显示数据的容器,以备下次显示;
◆ createTable(titleArray)——用于创建数据表格的头部。
在这个小项目中,具备这些基础功能就可以应付所有的开发了,如果项目功能比较复杂,则可以根据需要把基本的功能抽象到这个JS工具中实现,需要时调用就可以了。
由于篇幅所限,就不列出utils.js文件的源代码了,详见第12章\AjaxSyn\WebContent\js\utils.js。
好了,到此为止项目的框架就搭建完成了,最终完成的框架如图12-4所示。
为了使大家能够看到详细的结构,以便于对照练习,图中详细列出了每个组件及其位置(控制层组件、逻辑层组件、DAO层组件和视图层组件)
您可能关注的文档
- access2013数据库技术及应用(第2版)教学课件作者姜增如第9章.ppt
- access2013数据库技术及应用(第2版)教学课件作者姜增如第10章.ppt
- access2013数据库技术及应用(第2版)教学课件作者姜增如目录.ppt
- access数据库应用教学课件作者郑明言1.ppt
- access数据库应用教学课件作者郑明言2.ppt
- access数据库应用教学课件作者郑明言3.ppt
- access数据库应用教学课件作者郑明言4.ppt
- access数据库应用教学课件作者郑明言5.ppt
- access数据库应用教学课件作者郑明言6.ppt
- access数据库应用教学课件作者郑明言7.ppt
- 数字电子技术应用 项目教程 教学课件 作者 段有艳 等 项目8 锯齿波产生电路的设计与设计.ppt
- ajax实用技术教学课件作者程继洪肖川李海斌编著第12章学生选课(系统)的设计与实现12.2.1-12.2.2.pptx
- 数字电子技术应用 项目教程 教学课件 作者 段有艳 等 项目9 数字电子钟的设计.ppt
- ajax实用技术教学课件作者程继洪肖川李海斌编著第12章学生选课(系统)的设计与实现12.4.1-14.4.2.pptx
- ajax实用技术教学课件作者程继洪肖川李海斌编著第12章学生选课(系统)的设计与实现12.4.3-14.4.5.pptx
- ajax实用技术教学课件作者程继洪肖川李海斌编著第12章学生选课(系统)的设计与实现12.5.3-12.6.pptx
- ajax实用技术教学课件作者程继洪肖川李海斌编著第12章学生选课(系统)的设计与实现第4部分综合案例.pptx
- ajax实用技术教学课件作者程继洪肖川李海斌编著第13章进一步学习指南.pptx
- ajax实用技术教学课件作者程继洪肖川李海斌编著附录a2.1-a2.5..pptx
- ajax实用技术教学课件作者程继洪肖川李海斌编著附录a2.6-a2.9.pptx
最近下载
- 通风空调(风管漏风量、风管强度)检测记录.doc VIP
- 支部班子“加强理论武装、执行上级组织决定、加强党员管理监督等六个对照”2025年度组织生活会班子对照检查提纲四篇.docx VIP
- 2025常州工程职业技术学院单招《数学》测试卷及完整答案详解【有一套】.docx VIP
- 安全生产管理制度:安全检查管理制度.docx VIP
- 《健康评估》试题及答案.pdf VIP
- 血透护理疑难病例讨论ppt.pptx
- 医古文——《本草纲目》原序.ppt VIP
- 结直肠癌诊疗指南 .pdf VIP
- 《中国居民膳食指南(2025)》.pdf VIP
- 2025年常州工业职业技术学院单招《数学》试题预测试卷及一套答案详解.docx VIP
原创力文档

文档评论(0)