课程设计基于mysql的新闻管理系统.docx

上传人:b****4 文档编号:4790618 上传时间:2022-12-09 格式:DOCX 页数:14 大小:127.76KB
下载 相关 举报
课程设计基于mysql的新闻管理系统.docx_第1页
第1页 / 共14页
课程设计基于mysql的新闻管理系统.docx_第2页
第2页 / 共14页
课程设计基于mysql的新闻管理系统.docx_第3页
第3页 / 共14页
课程设计基于mysql的新闻管理系统.docx_第4页
第4页 / 共14页
课程设计基于mysql的新闻管理系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

课程设计基于mysql的新闻管理系统.docx

《课程设计基于mysql的新闻管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计基于mysql的新闻管理系统.docx(14页珍藏版)》请在冰豆网上搜索。

课程设计基于mysql的新闻管理系统.docx

课程设计基于mysql的新闻管理系统

1引言

1.1课题背景

在现代信息技术的基础上,随着网络的不断的发展,计算机性能不断提高,价格不断下降,很多人已经有了上网浏览新闻的习惯。

网络新闻不但浏览方便,而且更新速度快,所以出现了很多新闻网站为网民提供服务。

1.2课程设计目的

很多人每天都在关注着各地发生的一些让他们关注的新闻,新闻管理系统就是为了实现这个目标而做的。

记者可以在通过网页发表新闻,实现了新闻的即时共享,网民可以通过访问网页就可以看到找到他们关注的新闻,新闻的后台管理员可以审核记者发表的新闻,不合格的可以删除。

通过新闻管理系统的课程设计,熟练掌MyEclipse,MySQL-Font等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。

1.3课程设计任务

本课程设计任务是通过开发一个新闻管理系统,学习数据库系统的设计与开发,采用MyEclipse和MySQL-Font等软件为开发工具。

通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。

在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。

2系统结构分析

2.1需求分析

新闻管理系统应该可以通过后台管理员用户登录后对新闻进行审核、编辑、删除等操作,及时为用户提供及时的新闻。

经过分析,确定了新闻系统的主要包括以下功能:

(1).记者增加新闻

(2).后台管理员审核、编辑新闻

(3).后台管理员删除新闻

(4).所有进入网站的人查看新闻

2.2功能模块图

根据上述的功能,可以设计出系统的总体功能模块,如图2.1所示。

图2.1新闻管理系统功能模块示意图

3数据库设计

3.1概念结构设计

根据需求分析抽象出信息结构,可得该系统的E-R图。

(1).用户E-R图,如图3.1所示。

图3.1用户E-R图

根据分E-R图和需求分析,可得到总E-R图,如图2.10所示。

图3.2总体E-R图

3.2逻辑结构设计

根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。

数据库news包含以下4个表:

用户表user、用户类型表userType、新闻表news、新闻类型表newsType。

(1)用户类型表usertype

表3-1表usertype的结构

编号

字段名称

数据结构

说明

1

utid

int

记录编号

2

utypeName

Varchar(30)

用户类型信息名称

(2)用户表User

表3-2表User的结构

编号

字段名称

数据结构

说明

1

uid

int

记录编号

2

utid

int

用户类型编号,1-记者,2-后台管理员

3

uname

Varchar(20)

用户名

4

phone

Varchar(12)

联系方式

5

age

Int

年龄

6

Sex

Varchar(4)

性别

7

workYear

Int

工龄

8

Pwd

Varchar(16)

密码

(3)新闻表news

表3-3表news的结构

编号

字段名称

数据结构

说明

1

nid

int

记录编号

2

newsName

Varchar(100)

新闻名

3

ntid

int

新闻类型

4

content

Varchar(500)

新闻内容

(4).新闻类型表newsType

表3-4表newsType的结构

编号

字段名称

数据结构

说明

1

ntid

int

记录编号

2

ntypeName

Varchar(30)

新闻类型名

通过对上面表的分析,插入,删除,查找等操作,所有模式都符合3NF。

本系统将用户划分为两种类型,即系统管理员和普通用户。

系统管理员为Admin,他可以管理其他用户的信息,在其他方面所有用户的权限相同。

前面是通过前台来实现系统安全性的,我们也可以对数据库进行身份验证,可以从服务器角度建一个登录名,使得不同的服务器角色拥有不同的权限,从而实现对数据库的不同权限的管理,以此来增强医院门诊收费系统的安全性。

3.3数据库表的建立

在设计数据库表结构之前,首先要创建一个数据库。

本系统使用的数据库为news。

可以在MySQL-Front的sql编辑器中输入sql,以下为sql语句:

CREATEDATABASE`news`/*!

40100DEFAULTCHARACTERSETutf8*/;

(1).创建表usertype

createtableusertype

utidintnotnullAUTO_INCREMENT,

utypeNamenationalvarchar(20)notnull,

primarykey(utid)

);

(2).创建表user

createtableuser

uidintnotnullAUTO_INCREMENT,

unamevarchar(20)notnull,

pwdvarchar(16)notnull,

utidintnotnull,

phonevarchar(13),

ageint,

sexvarchar(4),

workyearint,

primarykey(uid,uname)

);

(3).创建表newsType

createtablenewsType

ntidintnotnullAUTO_INCREMENT,

utypeNamenationalvarchar(20)notnull,

primarykey(ntid)

);

(4).创建表news

createtablenews

nidintnotnullAUTO_INCREMENT,

ntidintnotnull,

newsNamevarchar(100)notnull,

contentvarchar(1000)notnull,

updateTimedatenotnull,

primarykey(nid)

);

 

4系统实现

4.1数据库的连接

在该系统中数据库的连接使用JDBC链接数据库。

在类DBUtils中用JDBC链接数据库的代码如下:

static{

try{

Class.forName("com.mysql.jdbc.Driver");

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}

}

publicstaticConnectiongetConn(){

Connectionconn=null;

Stringurl="jdbc:

mysql:

//127.0.0.1:

3306/news?

user=root&password=admin&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false";

try{

conn=DriverManager.getConnection(url);

}catch(SQLExceptione){

e.printStackTrace();

}

returnconn;

}

4.2系统功能模块设置

(1).实现增加新闻的代码

publicbooleanaddNews(Newsnews){

introw=0;

Connectionconn=DBUtils.getConn();

Stringsql="insertintonews(newsName,content,updateTime,ntid)values(?

?

?

?

)";

PreparedStatementpstmt=DBUtils.getPreparedStatement(conn,sql);

try{

pstmt.setString(1,news.getNewsName());

pstmt.setString(2,news.getContent());

pstmt.setTimestamp(3,newTimestamp(news.getUpdateTime().getTime()));

pstmt.setInt(4,news.getNtid());

row=pstmt.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close(conn,pstmt,null);

}

if(row>0)

returntrue;

else

returnfalse;

}

(2).实现删除新闻的代码

publicbooleandelNewsById(intid){

introw=0;

Connectionconn=DBUtils.getConn();

Stringsql="deletefromnewswherenid=?

";

PreparedStatementpstmt=DBUtils.getPreparedStatement(conn,sql);

try{

pstmt.setInt(1,id);

row=pstmt.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close(conn,pstmt,null);

}

return(row>0?

true:

false);

}

(3).实现编辑新闻的代码

publicbooleanmodifyNews(Newsnews){

introw=0;

Connectionconn=DBUtils.getConn();

Stringsql="updatenewssetnewsName=?

content=?

postTime=?

wherenid=?

";

PreparedStatementpstmt=DBUtils.getPreparedStatement(conn,sql);

try{

pstmt.setString(1,news.getNewsName());

pstmt.setString(2,news.getContent());

pstmt.setTimestamp(3,newTimestamp(news.getUpdateTime().getTime()));

pstmt.setInt(4,news.getNid());

row=pstmt.executeUpdate();

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close(conn,pstmt,null);

}

return(row>0?

true:

false);

}

(4).实现获得新闻列表的代码

publicListgetNewsList(){

Connectionconn=DBUtils.getConn();

Stringsql=null;

ResultSetres=null;

Listlist=newArrayList();

sql="selectnid,ntid,newsName,updateTimefromnews";

PreparedStatementpstmt=DBUtils.getPreparedStatement(conn,sql);

res=DBUtils.getResultSet(pstmt,sql);

try{

while(res.next()){

Newsnews=newNews();

news.setNid(res.getInt("nid"));

news.setNewsName(res.getString("newsName"));

news.setNtid(res.getInt("ntid"));

news.setUpdateTime(res.getDate("updateTime"));

list.add(news);

}

}catch(SQLExceptione){

e.printStackTrace();

}finally{

DBUtils.close(conn,pstmt,res);

}

returnlist;

}

5功能测试

5.1网站首页

在tomcat上部署该系统并启动,然后访问,得到界面如图5.1所示。

图5.1首页

5.2查看一条新闻

点击一条新闻的标题,查看一条新闻的完整内容,如图5.2所示。

图5.2查看一条新闻的界面

 

5.3发表新闻

记者登陆后可以发表新闻,访问界面如图5.3所示。

图5.3记者发表新闻的界面

5.4后台管理员界面

后台管理员登陆后可对新闻进行审核,删除等操作界面如图5.4

图5.4管理员操作新闻的界面

 

6系统技术实现

6.1MySQL

MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司。

在2008年1月16号被Sun公司收购。

而2009年,SUN又被Oracle收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

6.2JDBC

JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。

 

 有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。

换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL调用。

同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

 

7结束语

经过这些天的努力,本次课程设计终于完成了。

通过这次课程设计,使我对数据库这门课程有了更深入的理解,数据库是一门实践性较强的课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。

在本次课程设计中,我明白了理论与实际应用相结合的重要性,并提高了自己组织数据及编写程序的能力,培养了基本的、良好的程序设计技能。

这次课程设计同样提高了我的综合运用所学知识的能力。

并对MySQL有了更深入的了解。

由于我的经验和知识的不足,在程序中还存在很多缺陷。

经过这次课程设计,我的知识得到了很大提高,经验也更加丰富。

今后我会更多的学习编程技巧,不断的提高程

 

参考文献

[1]孙卫琴.精通Struts基于MVC的Java.Web设计与开发,2004

[2][美]CAYS.HORSTMANNGARYCORNELL著陈昊鹏王浩姚建平等译.JAVA核心技术,2007

[3]王成春,周文玲.MySQL数据库大进击,2008

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1