溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

發(fā)布時(shí)間:2021-07-15 11:44:52 來(lái)源:億速云 閱讀:297 作者:Leah 欄目:編程語(yǔ)言

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù),針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

Windows10安裝MySql數(shù)據(jù)庫(kù)

把安裝好的數(shù)據(jù)庫(kù)安裝好,建立好數(shù)據(jù)庫(kù)、創(chuàng)建表后,還需要通過(guò)JDBC來(lái)操作數(shù)據(jù)庫(kù),

Java通過(guò)使用JDBC提供的API來(lái)操作數(shù)據(jù)庫(kù),JDBC操作不同的數(shù)據(jù)庫(kù)僅僅是連接方式上的差異而已,使用JDBC的應(yīng)用程序和數(shù)據(jù)庫(kù)建立聯(lián)系后就可以對(duì)它進(jìn)行操作了。

使用JDBC需要如下操作:

  • 與數(shù)據(jù)庫(kù)建立連接

  • 向已經(jīng)連接的數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句

  • 處理SQL語(yǔ)句返回的結(jié)果

MySQL數(shù)據(jù)庫(kù)服務(wù)啟動(dòng)后,必須先和數(shù)據(jù)庫(kù)服務(wù)器上的數(shù)據(jù)庫(kù)建立連接。Java使用JDBC調(diào)用本地的JDBC-數(shù)據(jù)庫(kù)驅(qū)動(dòng)和相應(yīng)的數(shù)據(jù)庫(kù)建立連接。Java運(yùn)行環(huán)境將JDBC數(shù)據(jù)庫(kù)驅(qū)動(dòng)轉(zhuǎn)換為DBMS(數(shù)據(jù)庫(kù)管理系統(tǒng))所使用的專用協(xié)議來(lái)實(shí)現(xiàn)和特定的DBMS交互信息,如下圖:

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

使用JDBC-數(shù)據(jù)庫(kù)驅(qū)動(dòng)方式和數(shù)據(jù)庫(kù)建立連接需要經(jīng)歷兩個(gè)步驟:

(1) 加載JDBC-數(shù)據(jù)庫(kù)驅(qū)動(dòng)

(2) 和指定的數(shù)據(jù)庫(kù)建立連接

先下載JDBC-MySQL數(shù)據(jù)庫(kù)驅(qū)動(dòng),JDBC下載網(wǎng)址:

https://dev.mysql.com/downloads/file/?id=474258。將下載的zip文件解壓,找到里面的mysql-connector-java-5.1.45-bin.jar文件,把它復(fù)制到JDK的擴(kuò)展目錄中,例如我的是  D:StudyJava1.8.0jrelibext目錄下。

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

同時(shí)因?yàn)樵诎惭bJDK時(shí)會(huì)額外有一個(gè)JRE,***將mysql-connector-java-5.1.45-bin.jar文件復(fù)制到那個(gè)目錄,我的是D:StudyJRE1.8.0libext目錄中,保證及時(shí)啟用該環(huán)境運(yùn)行程序,也會(huì)有需要的驅(qū)動(dòng)。

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

接下來(lái)就是加載JDBC-MySQL數(shù)據(jù)庫(kù)驅(qū)動(dòng)了,代碼如下:

try {  Class.forName("com.mysql.jdbc.Driver");  } catch (Excepton e) { }

MySQL數(shù)據(jù)庫(kù)驅(qū)動(dòng)被封裝在Driver類中,包名為com.mysql.jdbc,它不是Java運(yùn)行環(huán)境類庫(kù)中的類,所以需要放置在jre的擴(kuò)展目錄中。

java.sql包中的DriverManager類有兩個(gè)用于建立連接的類方法(static方法):

  • Connection getConnection(java.lang.String,java.lang.String,java.lang.String)

  • Connection getConnection(java.lang.String)

在電腦中找到MySQL Notifier運(yùn)行它,然后在任務(wù)欄右擊它的圖標(biāo),選擇MySQL57-Stopped-->Start啟動(dòng)數(shù)據(jù)庫(kù)

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

接著打開(kāi)Navicat for MySQL,打開(kāi)連接,和數(shù)據(jù)庫(kù)服務(wù)器建立連接后,右擊連接名選擇"新建數(shù)據(jù)庫(kù)"命令,在彈出的對(duì)話框中填入相應(yīng)信息,如下所示,建立名為Study的數(shù)據(jù)庫(kù)

(查看另一篇文章介紹關(guān)于Navicat for MySQL:安裝Navicat for MySQL對(duì)MySQL進(jìn)行管理)

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

建立好數(shù)據(jù)庫(kù)后,右擊Study下的"表"選擇"新建表",填入相應(yīng)的列名和列名的各種屬性,

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

點(diǎn)擊保存,輸入表名進(jìn)行保存,再雙擊表名,填入相應(yīng)的各類信息,添加新行,點(diǎn)擊"+"

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

接下來(lái),用一個(gè)小小的程序來(lái)測(cè)試一下對(duì)數(shù)據(jù)庫(kù)的查詢操作

新建一個(gè)Java工程,代碼如下:

import  java.sql.*;public class MysqlTest { public static void main(String[]  args) { //加載JDBC-MySQL驅(qū)動(dòng) try { Class.forName("com.mysql.jdbc.Driver"); }  catch (Exception e) {}  //同數(shù)據(jù)庫(kù)建立連接,其中ip地址后的3306是端口號(hào),study是數(shù)據(jù)庫(kù)名稱,加上用戶名和密碼等信息 //設(shè)置useSSL為true  //如果表中記錄有漢字,請(qǐng)加上characterEncoding參數(shù),取值為gb2312或utf-8 Connection con =  null; String uri =  "jdbc:mysql://192.168.199.240:3306/study?user=root&password=****&useSSL=true&characterEncoding=utf-8";  try { con = DriverManager.getConnection(uri); //連接代碼 } catch  (SQLException e) { System.out.println(e); } //向數(shù)據(jù)庫(kù)發(fā)送SQL查詢語(yǔ)句 try {  Statement sql = con.createStatement(); //聲明并創(chuàng)建SQL語(yǔ)句對(duì)象 ResultSet rs =  sql.executeQuery("SELECT * FROM test"); //查詢test表  System.out.println("查詢結(jié)果:"); while (rs.next()) { //循環(huán)讀取表test每行的數(shù)據(jù)并輸出  String number = rs.getString(1); String name = rs.getString(2); Date  date = rs.getDate(3); float height = rs.getFloat(4);  System.out.printf("%s   ",number); System.out.printf("%s    ",name);  System.out.printf("%s   ",date); System.out.printf("%s  ",height);  System.out.println(); } con.close(); //關(guān)閉數(shù)據(jù)庫(kù)連接 } catch (SQLException e) {  System.out.println(e); } }}

運(yùn)行這個(gè)程序,輸出結(jié)果如下:

Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)

關(guān)于Java中怎么連接并操作MySQL數(shù)據(jù)庫(kù)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI