日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

如何使用Java与Mysql进行数据交互

發(fā)布時間:2025/3/8 数据库 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何使用Java与Mysql进行数据交互 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
  • ArthurSlog

  • SLog-5

  • Year·1

  • Guangzhou·China

  • July 11th 2018

微信掃描二維碼,關(guān)注我的公眾號

做到每個敲下的按鍵、每次鼠標(biāo)的點擊、每次手機屏幕的觸碰,都能產(chǎn)生價值

開發(fā)環(huán)境MacOS(High Sierra 10.13.5)

Java為了開發(fā)應(yīng)用級的程序,整個開發(fā)鏈比較繁瑣復(fù)雜,所以會需要更多的時間來掌握。

  • 老規(guī)則,讓我們明確一下需要的信息Mysql官方手冊

  • 打開命令行,測試一下java,如果提示沒有安裝JDK,移步JavaJDK下載

  • 安裝完JDK,測試一下安裝是否完整

java -version

java version "10.0.1" 2018-04-17 Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10) Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode) 復(fù)制代碼

javac -version

javac 10.0.1 復(fù)制代碼
  • 在macOS中,JDK安裝路徑是/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home
  • 在macOS中,JRE安裝路徑是/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    • 下載Connector / J,選擇platform Independent,選擇Platform Independent (Architecture Independent), ZIP Archive下載

    • 下載好Connector / J后解壓文件得到文件夾,配置 CLASSPATH

    export CLASSPATH=~/Downloads/mysql-connector-java-8.0.11.jar:$CLASSPATH

    • 下面是完整代碼

    LoadDriver.java

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; import java.sql.ResultSet; import java.sql.ResultSetMetaData;// assume that conn is an already created JDBC connection (see previous examples) public class LoadDriver {public static void main(String[] args) {try {// The newInstance() call is a work around for some// broken Java implementationsClass.forName("com.mysql.cj.jdbc.Driver").newInstance();Connection conn = null;try {conn =DriverManager.getConnection("jdbc:mysql://localhost/my_db?" +"user=root&password=88888888");// Do something with the ConnectionStatement stmt = null;ResultSet rs = null;try {stmt = conn.createStatement();rs = stmt.executeQuery("SELECT * FROM Account");// or alternatively, if you don't know ahead of time that// the query will be a SELECT...if (stmt.execute("SELECT * FROM Account")) {rs = stmt.getResultSet();}// Now do something with the ResultSet ....ResultSetMetaData rsmd = rs.getMetaData();int columnsNumber = rsmd.getColumnCount();while (rs.next()) {for (int i = 1; i <= columnsNumber; i++) {if (i > 1) System.out.print(", ");String columnValue = rs.getString(i);System.out.print(columnValue + " " + rsmd.getColumnName(i));}System.out.println("");}}catch (SQLException ex){// handle any errorsSystem.out.println("SQLException: " + ex.getMessage());System.out.println("SQLState: " + ex.getSQLState());System.out.println("VendorError: " + ex.getErrorCode());}finally {// it is a good idea to release// resources in a finally{} block// in reverse-order of their creation// if they are no-longer neededif (rs != null) {try {rs.close();} catch (SQLException sqlEx) { } // ignorers = null;}if (stmt != null) {try {stmt.close();} catch (SQLException sqlEx) { } // ignorestmt = null;}}} catch (SQLException ex) {// handle any errorsSystem.out.println("SQLException: " + ex.getMessage());System.out.println("SQLState: " + ex.getSQLState());System.out.println("VendorError: " + ex.getErrorCode());}} catch (Exception ex) {// handle the errorSystem.out.println("Exception: " + ex.getMessage());}} } 復(fù)制代碼

    執(zhí)行流程如下:

  • 用java應(yīng)用程序注冊你的mysql jdbc驅(qū)動程序,參考Mysql/JDBC執(zhí)行SQL手冊
  • Class.forName("com.mysql.cj.jdbc.Driver").newInstance() 復(fù)制代碼
  • 連接數(shù)據(jù)庫
  • conn =DriverManager.getConnection("jdbc:mysql://localhost/my_db?" + "user=root&password=88888888") 復(fù)制代碼
  • 獲得連接對象,并執(zhí)行SQL指令
  • Statement stmt = null; ResultSet rs = null;stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM Account"); 復(fù)制代碼
  • 獲得SQL執(zhí)行結(jié)果,對結(jié)果進(jìn)行打印
  • ResultSetMetaData rsmd = rs.getMetaData(); int columnsNumber = rsmd.getColumnCount(); while (rs.next()) {for (int i = 1; i <= columnsNumber; i++) {if (i > 1) System.out.print(", ");String columnValue = rs.getString(i);System.out.print(columnValue + " " + rsmd.getColumnName(i));}System.out.println("");} 復(fù)制代碼
    • 打印SQL結(jié)果
    ResultSet resultSet = statement.executeQuery("SELECT * from foo"); ResultSetMetaData rsmd = resultSet.getMetaData(); int columnsNumber = rsmd.getColumnCount(); while (resultSet.next()) {for (int i = 1; i <= columnsNumber; i++) {if (i > 1) System.out.print(", ");String columnValue = resultSet.getString(i);System.out.print(columnValue + " " + rsmd.getColumnName(i));}System.out.println(""); } 復(fù)制代碼
    • 切換到LoadDriver.java文件路徑下,編譯LoadDriver.java文件

    javac LoadDriver.java

    • 編譯生成LoadDriver.class,編譯提示
    注: LoadDriver.java使用或覆蓋了已過時的 API。 注: 有關(guān)詳細(xì)信息, 請使用 -Xlint:deprecation 重新編譯。 復(fù)制代碼
    • 執(zhí)行LoadDriver.class文件

    java LoadDriver

    • 執(zhí)行結(jié)果,打印Account表信息如下:
    1 ID, ArthurSlog AccountName, ArthurSlog Password 復(fù)制代碼
    • 至此,Java與MySQL成功實現(xiàn)了數(shù)據(jù)交互。

    歡迎關(guān)注我的微信公眾號 ArthurSlog

    微信掃描二維碼,關(guān)注我的公眾號

    如果你喜歡我的文章 歡迎點贊 留言

    謝謝

    總結(jié)

    以上是生活随笔為你收集整理的如何使用Java与Mysql进行数据交互的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。