java课设报告 基于数据库的电子词典
- 格式:docx
- 大小:178.62 KB
- 文档页数:11
课程设计
报告
课程名称: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;