广工数据库课程设计报告.doc_第1页
广工数据库课程设计报告.doc_第2页
广工数据库课程设计报告.doc_第3页
广工数据库课程设计报告.doc_第4页
广工数据库课程设计报告.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

. . . .数据库原理课程设计学 院 计算机学院 专 业 软件工程 班 级 2012 级 4 班 学 号 3112006291 姓 名 林炳城 指导教师 周俭铁 ( 2015 年 1 月) 目录数据库原理课程设计1一、课程设计目的5二、背景和可行性分析5三、相关技术介绍5四、需求分析6五、概念结构设计11六、逻辑结构设计11七、物理结构设计12八、数据库实施13九、数据库运行与维护15十、系统安装说明21十一、收获与体会21十二、各模块程序说明附录22一、 课程设计目的本次课程设计的目的在掌握数据库系统概论的基础上,了解数据库系统的设计和应用,掌握数据库系统相关设计方法和思想,希望能通过本次的课程设计,达到巩固和综合应用数据库系统概论的原理和知识,本次要突出一个完整的面向应用的数据库的设计和应用的过程,至于如何实现模块功能细节的则可以省略,通过本次报告的设计撰写情,来达到锻炼的目的。二、背景和可行性分析1、课程设计选题:因为本次课程设计要选择与数据库联系紧密,并且关于数据库的操作丰富的题目,再根据本人所掌握的知识考虑,由于我学过javaweb的程序开发,所以我选择了做的题目的是java web 个人博客系统2、题目描述个人博客网站的功能主要是为博客用户设计开发的,用户进入博客网站后,有两种选择,注册新用户、登录。由于是个人网站所以只支持注册用户查看文章,注册后经由管理员同意即为注册成功,注册成功的用户可以获取自己的博客空间,登陆成功后,用户可以发布、查看、修改和删除自己的博客,也可以浏览别人公开的博客文章,并且对文章进行评论,转载和点赞,也可以修改自己的个人信息,这个题目对于数据库的操作十分丰富,所以作为本次课程是个十分符合要求的题材三、相关技术介绍1、开发环境(1)、系统环境 Windows 8.1(2)、数据库系统Mysql Server5.25(3)、软件环境 JDK1.7-java开发环境Eclipce for j2ee 4.03 -IDETomcat 7.0-WEB服务器3、系统机构设计传统MVC模式 项目的分层可细分为视图层(View),控制器层(Controller),业务逻辑层(Service),和数据访问层(DAO),持久化对象层(PO)视图层(V) 由jsp呈现控制器层(C) 由Servlet充当,用于前端后台进行数据交换中间层(M)业务逻辑层(Service),和数据访问层(DAO), 持久化对象层(PO)组成存放数据数据库服务(MySQL)数据库访问对象业务逻辑的表现层MVC架构的控制器控制业务逻辑层与表现层的交互用户界面,负责业务数据的收集和表示,客户端校验 视图层 控制器层 service层 dao层 (jsp) (servlet)(中间层)四、需求分析个人博客系统1、 系统总体结构用户博客管理系统博客后台管理系统2、 系统用例图即两种用户:(1)、普通用户、(2)、系统管理员3、 系统活动图(1)、普通用户系统(1)、后台管理系统4、 数据流图(1)、个人博客管理信息第一层数据流图之一 普通用户系统 (2)、个人博客管理信息第一层数据流图之二 后台管理系统5、数据字典普通用户信息表(t_user)属性类型描述中文英文用户编号idchar(32)主键用户账号usernamevarchar(200)用户密码passwordvarchar(200)用户真实姓名namevarchar(200)用户电话mobilevarchar(200)用户邮箱emailvarchar(200)用户头像地址imageurlvarchar(200)用户类比typevarchar(200)是够同意注册isPassInt关注用户信息表(t_attentionr)属性类型描述中文英文评论编号idchar(32)主键用户编号userIdchar(32)外键,关联用户表被关注用户编号attentionIdchar(32)外键,关联用户表博文信息表(t_article)属性类型描述中文英文博文编号idchar(32)主键用户编号userIdchar(32)外键,关联用户表博文标题titlevarchar(200)博文内容contenttext博文发布时间datevarchar(200)博文点赞数目praisevarchar(200)是否公开isPublishvarchar(200)评论信息表(t_comment)属性类型描述中文英文评论编号idchar(32)主键用户编号userIdchar(32)外键,关联用户表博文编号articleIdchar(32)外键,关联博文表评论内容contentvarchar(200)评论时间datevarchar(200)五、概念结构设计E-R图六、逻辑结构设计用户表:t_user文章分组表:t_groups文章表:t_article评论表:t_comment关注表:t_attention七、物理结构设计八、数据库实施- Table structure for t_article- -DROP TABLE IF EXISTS t_article;CREATE TABLE t_article ( id varchar(32) NOT NULL, content text NOT NULL, date datetime NOT NULL, isPublish bit(1) NOT NULL, title varchar(100) NOT NULL, groupId varchar(32) NOT NULL, praise int(11) NOT NULL, userId varchar(32) NOT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), KEY FK8FEAC02BD8567870 (groupId), CONSTRAINT FK8FEAC02BD8567870 FOREIGN KEY (groupId) REFERENCES t_groups (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_attention- -DROP TABLE IF EXISTS t_attention;CREATE TABLE t_attention ( id varchar(32) NOT NULL, attentionId varchar(32) NOT NULL, userId varchar(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), KEY FK9C91B13FEE22533 (userId), CONSTRAINT FK9C91B13FEE22533 FOREIGN KEY (userId) REFERENCES t_user (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_comment- -DROP TABLE IF EXISTS t_comment;CREATE TABLE t_comment ( id varchar(32) NOT NULL, content varchar(255) NOT NULL, date datetime NOT NULL, articleId varchar(32) DEFAULT NULL, userId varchar(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), KEY FKF437E194F87EDB05 (articleId), KEY FKF437E194FEE22533 (userId), CONSTRAINT FKF437E194F87EDB05 FOREIGN KEY (articleId) REFERENCES t_article (id), CONSTRAINT FKF437E194FEE22533 FOREIGN KEY (userId) REFERENCES t_user (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_groups- -DROP TABLE IF EXISTS t_groups;CREATE TABLE t_groups ( id varchar(32) NOT NULL, groupName varchar(32) NOT NULL, userId varchar(32) DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY id (id), KEY FK69B62BFFFEE22533 (userId), CONSTRAINT FK69B62BFFFEE22533 FOREIGN KEY (userId) REFERENCES t_user (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;- - Table structure for t_user- -DROP TABLE IF EXISTS t_user;CREATE TABLE t_user ( id varchar(32) NOT NULL, email varchar(50) NOT NULL, imageurl varchar(50) NOT NULL, mobile varchar(32) NOT NULL, name varchar(32) NOT NULL, password varchar(32) NOT NULL, sex varchar(2) NOT NULL, username varchar(32) NOT NULL, PRIMARY KEY (id), UNIQUE KEY id (id) ENGINE=InnoDB DEFAULT CHARSET=utf8;九、数据库运行与维护(一)用户登录(二)用户注册填写个人信息(三)用户上传头像(四)登录成功显示个人主页,以及管理博文(五)博客园(六)发布博文(七)查看博文(八)评论博文(九)查看评论十、系统安装说明1、往mysql数据库新建blog数据库2、导入源代码中的sql脚步文件:/Blog/blog.sql3、修改程序中的配置文件:/Blog/src/com/resource/perties修改数据库连接和账号密码4、启动tomcat服务器,程序即启动5、打开浏览器访问:http:/localhost:8080/Blog/十一、收获与体会这次的大作业是一个自己写的java web小项目,用了个小的ORM框架MyBatis,由于最近比较忙,所以很多没时间写,是在以前自己写的代码的基础上重构的,虽然经过一年多的的沉淀自己的能力也成长了不少,在系统的设计的和框架的搭建有了很多的改进,但由于时间有限,所以很多设想好的功能都没时间去实现它,我是专业后台,一个人同时是编写前端后台比较吃力,而且由于技术原因,我目前还是在努力学习中,有很多的地方还写得不是很成熟,代码也写得不是很规范,我尽量把精力都放在后台的逻辑代码设计上了,比如网页上很明显有一些还没来得急实现的模块功能,等我技术成熟后我会在以后有时间会尽力完善这些功能。十二、各模块程序说明附录(1)公共类的设计说明 com.po.User 用户信息类 com.po.Groups 分组信息类 com.po.Article文章信息类 com.po.Comment 评论信息类 com.po.Attention 关注关系类 com.po.Page 分页操作用辅助JavaBean com.dao.BaseDao 数据操作类公共父类 com.dao.UserDao 用户数据操作类 com.dao. GroupsDao 分组数据操作类 com.dao.ArticleDao 文章数据操作类 com.dao.CommentDao 评论数据操作类 com.dao.AttentionDao 关注关系操作类 com.service.BaseService逻辑处理类公共父类 com.service.UserService用户逻辑处理类 com.service.GroupsService分组逻辑处理类 com.service.ArticleService文章逻辑处理类 com.service.CommentService评论逻辑处理类 com.service.AttentionService关注关系逻辑处理类 com.util. MyBatisUtilMyBatis框架工具类 com.util. RemoveArtilceHtmlUtil页面显示截短文章工具类 com.filter.EncondingFilter字符过滤器 com.servlet.LoginCheckServlet检查登录操作的公共父类 com.servlet.UpLoadUserHeadImage头像上传控制器 com.servlet.ZoomImage头像裁剪控制器 com.servlet.RegisterServlet注册信息监测控制器 com.servlet.LoginServlet登录控制器 com.servlet.UpdateUserInfoServlet修改用户信息控制器 com.servlet.RedactServlet获取分组信息控制器 com.servlet.AddGoupsServlet添加分组控制器 com.servlet.DeleteGoupsServlet删除分组控制器 com.servlet.LookGoupsArticleServlet查看分组文章控制器 com.servlet.PublishServlet发布博文控制器 com.servlet. ReadArticleServlet浏览博文控制器 com.servlet. CommentServlet评论博文控制器 com.servlet. DeleteCommentServlet删除评论控制器 com.servlet. FindAllArticleServlet跳转到博客园控制器 com.servlet. ReturnIndexServlet返回首页控制器 com.servlet. SelectArticleOfUserServlet用户管理博文翻页控制器 com.servlet. SelectArticleServlet博客园翻页控制器 com.servlet.DeleteArticleServlet用户删除博文控制器 com.servlet.AttentionOtherServlet关注博主控制器 com.servlet.CancelAttentionArticleServlet取消关注控制器 com.servlet.ToOtherUserIndextServlet去其他用户首页控制器 com.servlet.FindArticleServlet查找博文控制器 com.servlet.LookArticleOfAttentionServle浏览关注所以用户的博客 com/resource/mybatis-config.xmlMybatis的配置文件以上的类内部的方法的作用和注释都在源代码里面有介绍,所以在这里就不多做介绍,主要就是对DAO层的增删查改的操作,也对这个项目的唯一亮点就是ORM框架的使用,即数据库持久层的也十分对应本次课程设计的主题(2)关键部分源代码(一)MyBatis的配置以及辅助工具类src/com/resource/perties:jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql://blogjdbc.username = rootjdbc.password =rootsrc/com/resource/mybatis-config.xml:src/com/po/user.xml:insert into t_user(id,username, password,name,sex,mobile,email,imageurl) values (#id,#username,#password,#name,#sex,#mobile,#email,#imageurl)delete from t_user where id= #idupdate t_user set password = #password,name = #name ,sex = #sex,mobile = #mobile,email = #email,imageurl = #imageurl where id = #idselect * from t_user where username = #usernameselect * from t_user where id = #idselect * from t_user order by rand() limit 9src/com/po/article.xml:insert intot_article(id,userId,groupId,title,date,content,praise,isPublish)values(#id,#userId,#groupsId,#title,#date,#content,#praise,#isPublish)delete fromt_article where id = #idselect * from t_article where isPublish = 1 order bydate desc limit#firstResult,#maxResultsselect * from t_article where id = #idselect * from t_article where id = #idselect * fromt_article where isPublish = 1 order by praise desc limit 0,9select * from t_article where groupId = #groupsIdselect * from t_article where userId = #condition order bydate desc limit #firstResult,#maxResultsselect * from t_article where userId = #userIdselect * from t_articlewhere isPublish = 1src/com/po/comment.xml:insert intot_comment(id,content,arti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论