java课设报告 基于数据库的电子词典

  • 格式:docx
  • 大小:178.62 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

报告

课程名称:java .班级:______________________ 学号:______________________ 姓名:______________________ 完成日期:2009、11、16

沈阳航空工业学院北方软件学院

北方软件学院

课程设计任务书

专业名称:计算机科学与技术

课程名称:Java课程设计

设计题目:基于数据库的词典工具

起止时间:

问题描述:

实现一个基于数据库电子词典,输入一个词汇后能在数据库中检索出该词的解释,并显示出来。

基本要求:

要求使用MySQL做为后台存储数据库,使用Java GUI的方法, 具有联想功能。用户可以添加词汇和解释,可以定义定制常用词汇列表。

较高要求:在查词框的下拉列表中能显示历史查词记录。

实现提示

学生姓名:学号:指导教师:

基于数据库的词典工具

1概要设计

(1)程序分析:用java程序编写一个基于数据库的词典工具,实现一个基于数据库电子

词典,输入一个词汇后能在数据库中检索出该词的解释,

并显示出来。要求使用MySQL故为后台存储数据库,使用Java GUI的

方法,具有联想功能。用户可以添加词汇和解释,可以定义定制常用词

汇列表。

(2)用到的工具:MySQL-Front( SQL编辑器),MySQL故为后台数据库。

(3)模块图:

2详细设计

(1)数据库的相关知识:利用JDBC开发数据库应用一般包括如下步骤:

1、建立与数据库的连接

数据库连接的建立包括两个步骤:首先要加载相应数据库的JDBC驱动程序;

然后建立连接。

Class.forName() 方法的执行,将创建数据库驱动的实例并注册到驱动管理器。在某种数据库的驱动程序加载后,就可以建立与该DBMS的连接了。定义如下:Class.forName( "com.mysql.jdbc.Driver ”

创建数据库连接这个步骤中要使数据库驱动连接到相应的DBMS连接的建立通过使用DriverManager 类中的static 方法getConnection(),该方法的定义如下:Con=DriverMa nager.getCo nn ectio n( jdbc:mysql:〃10.20.2.14/KEMDB?use Uni

Code=true&characterE ncodi ng=utf-8 ”;

2、执行SQL 语句

在所建立的数据库连接上,创建Statement 对象,对各种SQL 语句发送到所连接的数据

库执行。对于已创建的的数据库连接对象,调用creatStatement ()方法,便可得到一个Statement 对象。例如:Statement stmt=con.creatStatement () ;

接下来就可以通过该Statement对象发送SQL语句。对于SQL的检索操作,使用Statement 的ExecuteQuery() 方法,对于更新操作,使用ExecuteUpdate() 方法。本程序中用到的SQL的更新添加和查询操作,定义如下:

ResultSet rs = stmt .executeQuery( "select * from test" ); stmt .executeUpdate(sql);

3、处理结果集

结果集是保存SQL的SELECT语句返回的结果记录的表,是ResultSet类的对象。

使用ResultSet 类的next ()方法将游标移到下一行,并将该行作为可以操作的当前行。如果当前行已经是结果集中的最后一行,则调用next( )方法将返回false ,否则返回

true 。因为一个结果集中游标的的初始位置是在第一行记录之前,所以第一次对next() 方法的调用将把游标移到第一行。格式例如:

while (rs.next()){

ename = rs.getString(2);

cname = rs.getString(3);

if (ename.equals( tf1 .getText().trim())){

tf2 .setText(cname);

b=1;

break ;

}

}

4、关闭数据库连接在数据库所有操作都完成后,要显示的关闭连接。一般在关闭连接时先释放

Statement 对象,例如:

con=DriverManager. getConnection ( "jdbc:mysql://10.20.2.14/KEMDB?useUniCo

de=true&characterEncoding=utf-8" );

stmt = con.createStatement();

stmt .close();

con.close();

(2)各模块功能

1、GUI设计:首先设计并创建一个顶层容器,例如一个Frame;确定容器要采用的布

局管理器,并把该类型的布局管理器设置到容器中;创建所需组件,可以设置或改变

组件颜色、字体,并把它们添加到容器中;最后添加组件的时间处理,使应用户的操作,实现与用户的交互功能。相关代码如下:super (" 英汉小词典");

setBounds(150,150,300,120); setVisible( true );

setLayout( newGridLayout(3,1));

select_bt .addActionListener( this );

update_bt .addActionListener( this );

add_bt .addActionListener( this );

public void actionPerformed(ActionEvent e){}

2、查找功能:首先要先连接数据库,连接成功则进行查找功能,实现查找功能的

关键代码如下:

while (rs.next()){

ename = rs.getString( "dc" );

cname = rs.getString( "js" );

if (ename.equals( tf1 .getText().trim() )){

tf2 .setText(cname);

b=1; break ;

}

}

3、更新功能:首先连接数据库。连接成功进行更新功能,实现更新的关键代码:String sql = "update test set js = " +s2+ " where dc ="

stmt .executeUpdate(sql);

4、添加功能:首先连接数据库,连接成功进行添加功能,实现添加的关键代码:String sql = "insert into test values(" +s1+ "," +s2+ ")"

stmt .executeUpdate(sql);

GUI能够响+s1;