java實現(xiàn)單詞查詢小程序
本文實例為大家分享了Java單詞查詢小程序,供大家參考,具體內(nèi)容如下
1、任務簡介
本次分享的單詞查詢小程序是基于MySQL數(shù)據(jù)庫制作的,使用的詞匯表是我在博客《將Excel文件導入MySQL數(shù)據(jù)庫的方法》中講解的,首先我需要講解Java連接MySQL數(shù)據(jù)庫的方法,然后再給大家分享單詞查詢小程序。
2、Java連接MySQL數(shù)據(jù)庫的方法
1)要使用Java程序對MySQL數(shù)據(jù)庫進行操作,首先需要建立它們之間的連接,關于連接驅動可以通過百度下載,下載解壓后可以得到一個jar包,將該包導入預先創(chuàng)建好的Java Project中,具體為右鍵點擊Java Project→New→Folder,文件名為lib,如下圖:

2)此時在該項目下會有l(wèi)ib文件夾出現(xiàn),將預先下載好的jar驅動包拖動到lib文件,此時會有如下顯示,點擊OK即可:

3)右鍵點擊Java Project→Build Path→Configure Build Path后進到如下界面:

4)點擊Add JARs然后將剛才的lib包下的jar包導入:

5)這些步驟弄完后Myeclipse程序左邊的Java Project如下顯示:

3、單詞查詢小程序
1)由于需要實現(xiàn)單詞查詢功能,所以需要使用到Scanner類獲取用戶通過控制臺的輸入,關于Scanner類在5.15-5.21的任務中已經(jīng)使用到了,關于其更詳細知識可以通過菜鳥教程進行學習;
2)MySQL數(shù)據(jù)庫中使用到的表為之前博客中創(chuàng)建的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){//程序主函數(shù)
String driver="com.mysql.jdbc.Driver";//驅動程序名
String url="jdbc:mysql://localhost:3306/mysql";//URL指向要訪問的數(shù)據(jù)庫名mysql
String user="root";//mysql配置時的用戶名
String password="root";//mysql配置時的密碼
while(true){//定義死循環(huán)
try{//try代碼塊,當發(fā)生異常時會轉到catch代碼塊中
Class.forName(driver);//加載驅動程序
Connection con=DriverManager.getConnection(url,user,password);//DriverManager.getConnection方法連接mysql數(shù)據(jù)庫
if(con!=null&&!con.isClosed())//if語句的條件
System.out.println("請輸入需要查詢的單詞:");//輸出提示信息
Statement statement=con.createStatement();//創(chuàng)建statement類對象執(zhí)行SQL語句
Scanner in=new Scanner(System.in);//創(chuàng)建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循環(huán),游標向下移動一行
String english=rs.getString("english");//獲取id這列數(shù)據(jù)
String chinese1=rs.getString("中文1");//獲取name這列數(shù)據(jù)
String chinese2=rs.getString("中文2");//獲取sex這列數(shù)據(jù)
String help=rs.getString("助記");//獲取age這列數(shù)據(jù)
if(s.equalsIgnoreCase(english)){//輸入單詞存在于表中則執(zhí)行
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數(shù)據(jù)庫的方法,還可以學習Java對數(shù)據(jù)庫中一些數(shù)據(jù)的基本操作,自制一個單詞查詢小程序,如果對您有幫助的話麻煩關注一下博主,后續(xù)我還會陸續(xù)把其他的學習成果進行分享。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Redis 訂閱發(fā)布_Jedis實現(xiàn)方法
下面小編就為大家?guī)硪黄猂edis 訂閱發(fā)布_Jedis實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06
關于Java實體類Serializable序列化接口的作用和必要性解析
序列化是將對象狀態(tài)轉化為可保持或者傳輸?shù)母袷竭^程,與序列化相反的是反序列化,完成序列化和反序列化,可以存儲或傳輸數(shù)據(jù),一般情況下,在定義實體類時會使用Serializable,需要的朋友可以參考下2023-05-05
使用mybatis報Invalid bound statement解決分析
這篇文章主要為大家介紹了使用mybatis報Invalid bound statement原因解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12

