本文实例为大家分享了Java单词查询小程序,供大家参考,具体内容如下
1、任务简介
本次分享的单词查询小程序是基于MySQL数据库制作的,使用的词汇表是我在博客《将Excel文件导入MySQL数据库的方法》中讲解的,首先我需要讲解Java连接MySQL数据库的方法,然后再给大家分享单词查询小程序。
2、Java连接MySQL数据库的方法
1)要使用Java程序对MySQL数据库进行操作,首先需要建立它们之间的连接,关于连接驱动可以通过百度下载,下载解压后可以得到一个jar包,将该包导入预先创建好的Java Project中,具体为右键点击Java Project→New→Folder,文件名为lib,如下图:
2)此时在该项目下会有lib文件夹出现,将预先下载好的jar驱动包拖动到lib文件,此时会有如下显示,点击OK即可:
3)右键点击Java Project→Build Path→Configure Build Path后进到如下界面:
4)点击Add JARs然后将刚才的lib包下的jar包导入:
5)这些步骤弄完后Myeclipse程序左边的Java Project如下显示:
3、单词查询小程序
1)由于需要实现单词查询功能,所以需要使用到Scanner类获取用户通过控制台的输入,关于Scanner类在5.15-5.21的任务中已经使用到了,关于其更详细知识可以通过菜鸟教程进行学习;
2)MySQL数据库中使用到的表为之前博客中创建的english表,在本程序中SQL语句使用select * from english获取整张表的信息,但是不使用输出语句将这些信息输出;
3)此外还需要定义一个布尔型变量来判断表中是否含有所查询的单词,若没有则输出提示信息“没有收录该词”,还需要使用if语句判断用户输入的单词是否与表中第一列的相同,语句为if(s.equalsIgnoreCase(english)),若相同则输出该单词的英文、中文和助记方法;
4)程序代码如下:
import java.sql.Connection;//导入java.sql包下的Connection类
import java.sql.DriverManager;//导入java.sql包下的DriverManager类
import java.sql.ResultSet;//导入java.sql包下的ResultSet类
import java.sql.SQLException;//导入java.sql包下的SQLException类
import java.sql.Statement;//导入java.sql包下的Statement类
import java.util.Scanner;//导入java.util包下的Scanner类
public class Test666{//类名
public static void main(String[] args){//程序主函数
String driver="com.mysql.jdbc.Driver";//驱动程序名
String url="jdbc:mysql://localhost:3306/mysql";//URL指向要访问的数据库名mysql
String user="root";//mysql配置时的用户名
String password="root";//mysql配置时的密码
while(true){//定义死循环
try{//try代码块,当发生异常时会转到catch代码块中
Class.forName(driver);//加载驱动程序
Connection con=DriverManager.getConnection(url,user,password);//DriverManager.getConnection方法连接mysql数据库
if(con!=null&&!con.isClosed())//if语句的条件
System.out.println("请输入需要查询的单词:");//输出提示信息
Statement statement=con.createStatement();//创建statement类对象执行SQL语句
Scanner in=new Scanner(System.in);//创建scanner,控制台会一直等待输入,直到敲回车结束
String s=in.nextLine();//用户通过控制台输入单词
String sql="select * from english";//使用SQL语句进行条件查询
ResultSet rs=statement.executeQuery(sql);//ResultSet类用来存放获取的结果
System.out.println("查询结果如下所示:");//输出提示信息
boolean b=false;//判断表中是否含有输入的词
while(rs.next()){//while循环,游标向下移动一行
String english=rs.getString("english");//获取id这列数据
String chinese1=rs.getString("中文1");//获取name这列数据
String chinese2=rs.getString("中文2");//获取sex这列数据
String help=rs.getString("助记");//获取age这列数据
if(s.equalsIgnoreCase(english)){//输入单词存在于表中则执行
System.out.println(english+"\n"+chinese1+"\n"+chinese2+"\n"+help);//输出对应单词全部信息
b=true;//布尔型变量为true
}
}
if(!b){//查不到该词
System.out.println("没有收录该词!");//输出提示信息
}
rs.close();//关闭流
con.close();//关闭流
}catch(ClassNotFoundException e){//当try代码块有异常时转到catch代码块
System.out.println("对不起,未找到驱动!");//输出提示信息
e.printStackTrace();//打印异常所在位置及原因
}catch(SQLException e){//当try代码块有异常时转到catch代码块
e.printStackTrace();//打印异常所在位置及原因
}catch (Exception e){//当try代码块有异常时转到catch代码块
e.printStackTrace();//打印异常所在位置及原因
}finally{
System.out.println("----------------------------------------");//分割线
}
}
}
}
5)运行结果如下:
4、总结
通过本博客不仅可以学习Java连接MySQL数据库的方法,还可以学习Java对数据库中一些数据的基本操作,自制一个单词查询小程序,如果对您有帮助的话麻烦关注一下博主,后续我还会陆续把其他的学习成果进行分享。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
时间: 2019-07-29