ajva课程设计报告javadao模式设计.doc
《ajva课程设计报告javadao模式设计.doc》由会员分享,可在线阅读,更多相关《ajva课程设计报告javadao模式设计.doc(18页珍藏版)》请在咨信网上搜索。
1、天津工业大学面向对象程序设计课程设计报告题目:Java DAO 模式设计学 号 1411640305 姓 名 黄世增 班 级 计算机1403 指导教师 2016年 6月 29日摘 要 自1946年第一台计算机问世以来,计算机产业的飞速发展已远远超出人们对它的预料,在某些生产线上,甚至一秒钟就能生产出一台微型计算机,产量猛增,价格低廉,这就使得它的应用范围迅速扩展。如今,计算机已深入到人类社会的各个领域。各种应用程序不断地被开发应用,随之程序设计语言也不断发展完善,Java便是这程序语言世界里的一朵奇葩,如今甚为流行。与C+语言相比,Java是一种完全面向对象的语言,它吸取了C+语言的语句结构,
2、去掉了指针、多继承、运算符重载等这些降低安全性、低可靠性的语言元素,并实现了自动回收垃圾的功能,从而使得Java语言更具有可移植性、鲁棒性、安全性、与环境无关性等特点,赢得了广大软件开发者的青睐。今天,作为计算机科学与技术专业的学生,更应该了解Java语言的语法规范,理解Java语言程序设计的基本特点,掌握利用Java语言编写程序的基本技巧,学会利用Java开发环境调试程序。为了更进一步将所学知识与实际结合起来,我参加了本次课程设计。本课程设计是面向对象程序设计的后续实践课程,以Java语言为例逐步设计开发一个基于DAO模式的信息管理系统。课程采用循序渐进方式,从设计简单的Java类开始,逐步
3、增加功能、通过使用设计模式对代码进行重构,分阶段完成3个里程碑版本:基于内存中集合对象的信息管理系统、基于文件的信息管理系统和基于数据库的信息管理系统。通过这些针对性练习使学生充分理解面向对象程序设计的思想及其应用方式。关键词:Java;DAO;信息管理系统;数据库。目 录第一章 课程设计目的1第二章 需求分析12.1功能需求12.2系统的开发运行环境1第三章 总体设计1 3.1分层设计1 3.2 DAO组成2第四章 详细设计2 4.1数据库连接类2 4.2开发简单Java类4 4.3数据开发层:DAO层4 4.4定义数据层实现类:StudentDAOImpl5 4.5建立数据层工厂类8 4.
4、6业务层实现类8 4.7测试类Test9第五章 调试与测试9 5.1运行结果9 5.2遇到的问题12第六章 课程设计小结12参考文献13天津工业大学14级专业课程设计第一章 课程设计目的 1、进一步熟悉Java开发环境,熟悉用Java完成一个应用程序的设计过程,掌握有关编辑、调试和整合程序的方法和技巧。 2、通过此设计,了解Java语言的特点;熟悉Java程序的编写;体会Java语言在问题求解中的特点。3、总结学习Java语言的心得和体会,并对Java课程设置提出自己的意见和建议。第二章 需求分析2.1 功能需求 在Java程序中,经常需要把数据持久化,也需要获取持久化的数据,但是在进行数据持
5、久化的过程中面临诸多问题(如:数据源不同、存储类型不同、供应商不同、访问方式不同等等),请问如何能以统一的接口进行数据持久化的操作?此时就需要用到DAO模式。2.2 系统的开发运行环境 本系统开发平台:Java 本系统集成开发环境:Eclipse本系统运行环境:Windows 10本系统用的数据库:SQL Server 2014第三章 总体设计3.1 分层设计 在软件开发过程之中一定要存在有一个程序的层次概念,每一个程序层次都要完成某些具体的操作,而在一般情况下,分层的原则:不超过三层的原则,而常见的分层模式如下: 图3-1 分层模式图 本课程设计专注于业务层与数据层。 一个业务层可能需要调用
6、多个数据层,而数据层所提供的都是数据库的原子性操作(INSERT、UPDATE、DELETE、SELECT)。那么就可以给出概念:数据层(数据访问层、持久层),一般会使用“Data Access Object”表示,简称DAO,在DAO之中提供的是一系列的数据库操作标准(接口);业务层(服务层),一般会使用“Service”表示,由于业务层最终也是要给控制层进行调用 (今天给客户直接调用)、所以业务层也需要由一个自己的操作标准,而一个业务层就需要调用多个数据层。3.2 DAO组成 在整个DAO的设计中实际上都是以接口为操作标准的,即:客户端依靠DAO实现的接口进行操作,而服务端要将接口进行的具
7、体的实现,DAO由以下几个部分组成:DatabaseConnect:专门负责数据库的打开与关闭操作的类;VO:主要由属性、setter、getter方法组成,VO类中的属性与表中的字段相对应,每一个VO类的对象都表示表中的每一条记录;DAO:主要定义操作的接口,定义一系列数据库的原子性操作,例如:增加、显示、修改、删除、按ID查询等;Impl:DAO接口的真实实现类,完成具体的数据库操作,但是不负责数据库的打开和关闭;Factory:工厂类,通过工厂类取得一个DAO的实例化对象;Operate:业务层实现类。第四章 详细设计4.1 数据库连接类在整个JDBC操作过程之中,数据库只有打开后才可以
8、进行一系列的操作,而后数据库的连接有必须关闭。那么为了方便控制,可以直接将数据库的打开和关闭封装在一个类之中。数据库的连接类保存包为“cn.edu.tjpu.cs.infosystem.dbc”,而且数据库的连接只针对SQL Server定义。public class DatabaseConnection private Connection conn;/声明Connection对象public DatabaseConnection()try /加载数据库驱动类Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);catch(C
9、lassNotFoundException e)e.printStackTrace();try /通过访问数据库的URL获取数据库连接对象this.conn = DriverManager.getConnection(jdbc:sqlserver:/127.0.0.1:1433;DatabaseName=infosystem,root,123456);catch(SQLException e)e.printStackTrace();public Connection getConnection()return this.conn;public void close()if(this.conn
10、!= null)trythis.conn.close();catch(SQLException e)e.printStackTrace();4.2开发简单Java类简单Java类指的就是累的结构比较单一,主要是由属性、setter/getter方法组成,简单Java类的主要功能是作为一种数据的载体进行存放,而日后对于简单Java类也会出现如下的名称:POJO(简单Java类)、VO(值对象)、TO(DTO,数据传输对象,主要用于分布式)、PO(持久化对象)。可是对于简单Java类的组成结构在开发之中也有了明确要求:简单Java类的最主要的设计思想来源于数据表,所以一定要和数据表的结构映射上;简
11、单Java类的名称要与数据表的名称保持一致,注意大小写,例如:student表,类:Student;为了方便程序扩展,所有的简单Java类必须实现java.io.Serializable接口;类之中的属性必须使用private封装,封装后的属性一定要编写setter、getter方法;类之中一定要提供有无参构造方法;类之中不允许使用基本数据类型,所有的基本类型全部替换为包装类;类之中不允许出现任何的输出语句,所有的输出必须交给调用处执行;类可以有选择性的覆写Object类的:equals()、hashCode()、toString()。简单Java类要求保存在cn.edu.tjpu.cs.in
12、fosystem.vo包中。4.3 开发数据层:DAO层数据层又称为持久层,指的是进行持久化数据操作的。持久层属于DAO层,所以在进行开发的时候首先要开发出操作的标准,而后进行子类的实现。因为持久层最终要交给业务层迚行调用,所以持久层必须有一个自己的操作接口,用于定义标准,但是此接口的命名是有要求的,如果当前操作的是Student表,那么这个接口应该命名为StudentDAO,但是为了区分接口还有类,所以现在要求在接口定义前增加一个字母I,所以Student表的持久层标准名称:IStudentDAO,而且此接口要保存在cn.edu.tjpu.cs.infosystem.dao下(因学生和工人的
13、操作是一样的,所以这里及后面的部分只讨论学生的情况)。public interface IStudentDAO public boolean doCreate(Student vo) throws Exception;public boolean doUpdate(Student vo) throws Exception;public boolean doRemove(Integer id) throws Exception;public Student findById(Integer id) throws Exception;public List findAll() throws Exc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ajva 课程设计 报告 javadao 模式 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。