成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Slog5_如何使用Java與Mysql進(jìn)行數(shù)據(jù)交互

baiy / 1503人閱讀

摘要:做到每個(gè)敲下的按鍵每次鼠標(biāo)的點(diǎn)擊每次手機(jī)屏幕的觸碰,都能產(chǎn)生價(jià)值開發(fā)環(huán)境為了開發(fā)應(yīng)用級(jí)的程序,整個(gè)開發(fā)鏈比較繁瑣復(fù)雜,所以會(huì)需要更多的時(shí)間來掌握。注有關(guān)詳細(xì)信息請(qǐng)使用重新編譯。執(zhí)行文件執(zhí)行結(jié)果,打印表信息如下至此,與成功實(shí)現(xiàn)了數(shù)據(jù)交互。

ArthurSlog

SLog-5

Year·1

Guangzhou·China

July 11th 2018

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

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

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

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

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

安裝完JDK,測(cè)試一下安裝是否完整

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)
javac -version
javac 10.0.1

在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 implementations

            Class.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 Connection

                Statement 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 errors
                    System.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 needed

                    if (rs != null) {
                        try {
                            rs.close();
                        } catch (SQLException sqlEx) { } // ignore

                        rs = null;
                    }

                    if (stmt != null) {
                        try {
                            stmt.close();
                        } catch (SQLException sqlEx) { } // ignore

                        stmt = null;
                    }
                }

            } catch (SQLException ex) {
                // handle any errors
                System.out.println("SQLException: " + ex.getMessage());
                System.out.println("SQLState: " + ex.getSQLState());
                System.out.println("VendorError: " + ex.getErrorCode());
            }
        } catch (Exception ex) {
            // handle the error
            System.out.println("Exception: " + ex.getMessage());
        }
    }
}
執(zhí)行流程如下:

用java應(yīng)用程序注冊(cè)你的mysql jdbc驅(qū)動(dòng)程序,參考Mysql/JDBC執(zhí)行SQL手冊(cè)

Class.forName("com.mysql.cj.jdbc.Driver").newInstance()

連接數(shù)據(jù)庫(kù)

conn =DriverManager.getConnection("jdbc:mysql://localhost/my_db?" + "user=root&password=88888888")

獲得連接對(duì)象,并執(zhí)行SQL指令

Statement stmt = null;
ResultSet rs = null;

stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM Account");

獲得SQL執(zhí)行結(jié)果,對(duì)結(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("");
                    }

打印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("");
}

切換到LoadDriver.java文件路徑下,編譯LoadDriver.java文件

javac LoadDriver.java

編譯生成LoadDriver.class,編譯提示

注: LoadDriver.java使用或覆蓋了已過時(shí)的 API。
注: 有關(guān)詳細(xì)信息, 請(qǐng)使用 -Xlint:deprecation 重新編譯。

執(zhí)行LoadDriver.class文件

java LoadDriver

執(zhí)行結(jié)果,打印Account表信息如下:

1 ID,  ArthurSlog AccountName,  ArthurSlog Password

至此,Java與MySQL成功實(shí)現(xiàn)了數(shù)據(jù)交互。

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

如果你喜歡我的文章 歡迎點(diǎn)贊 留言 謝謝

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/76817.html

相關(guān)文章

  • Slog3_如何使用PythonMysql進(jìn)行數(shù)據(jù)交互

    摘要:現(xiàn)在,對(duì)接文件已經(jīng)到位接下來測(cè)試數(shù)據(jù)庫(kù),如果還沒安裝或者安裝了還沒配置,移步數(shù)據(jù)庫(kù)配置,完成數(shù)據(jù)庫(kù)的安裝和配置或者在官方下載,安裝官方手冊(cè)安裝。 ArthurSlog SLog-3 Year·1 Guangzhou·China July 9th 2018 showImg(https://segmentfault.com/img/remote/1460000016093266?w=2...

    ccj659 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<