课程设计报告课程名称:java.班级:学号:姓名:完成日期:2009、11、16沈阳航空工业学院北方软件学院1北方软件学院课程设计任务书专业名称:计算机科学与技术课程名称:Java课程设计设计题目:基于数据库的词典工具起止时间:问题描述:实现一个基于数据库电子词典,输入一个词汇后能在数据库中检索出该词的解释,并显示出来。基本要求:要求使用MySQL做为后台存储数据库,使用JavaGUI的方法,具有联想功能。用户可以添加词汇和解释,可以定义定制常用词汇列表。较高要求:在查词框的下拉列表中能显示历史查词记录。实现提示学生姓名:学号:指导教师:2基于数据库的词典工具1概要设计(1)程序分析:用java程序编写一个基于数据库的词典工具,实现一个基于数据库电子词典,输入一个词汇后能在数据库中检索出该词的解释,并显示出来。要求使用MySQL做为后台存储数据库,使用JavaGUI的方法,具有联想功能。用户可以添加词汇和解释,可以定义定制常用词汇列表。(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=DriverManager.getConnection(“jdbc:mysql://10.20.2.14/KEMDB?useUniCode=true&characterEncoding=utf-8”);2、执行SQL语句在所建立的数据库连接上,创建Statement对象,对各种SQL语句发送到所连接3的数据库执行。对于已创建的的数据库连接对象,调用creatStatement()方法,便可得到一个Statement对象。例如:Statementstmt=con.creatStatement();接下来就可以通过该Statement对象发送SQL语句。对于SQL的检索操作,使用Statement的ExecuteQuery()方法,对于更新操作,使用ExecuteUpdate()方法。本程序中用到的SQL的更新添加和查询操作,定义如下:ResultSetrs=stmt.executeQuery("select*fromtest");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?useUniCode=true&characterEncoding=utf-8");stmt=con.createStatement();…stmt.close();con.close();(2)各模块功能1、GUI设计:首先设计并创建一个顶层容器,例如一个Frame;确定容器要采用的布局管理器,并把该类型的布局管理器设置到容器中;创建所需组件,可以设置或改变组件颜色、字体,并把它们添加到容器中;最后添加组件的时间处理,使GUI能够响应用户的操作,实现与用户的交互功能。相关代码如下:4super("英汉小词典");setBounds(150,150,300,120);setVisible(true);setLayout(newGridLayout(3,1));…select_bt.addActionListener(this);update_bt.addActionListener(this);add_bt.addActionListener(this);…publicvoidactionPerformed(ActionEvente){}2、查找功能:首先要先连接数据库,连接成功则进行查找功能,实现查找功能的关键代码如下:while(rs.next()){ename...