簡體   English   中英

java中main的mysql連接的調用方法

[英]call method for mysql connection from main in java

我正在學習Java,我用netbeans添加了mysql連接器,我試圖做一個示例應用來查詢數據庫,但是我不知道如何從主方法中調用建立連接的方法。

這是我的代碼:

MySqlJdbcTest.java:

public class MySqlJdbcTest {
    public static void main(String[] args) {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
    //          new com.mysql.jdbc.Driver();
            Class.forName("com.mysql.jdbc.Driver").newInstance();
                        //conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=");
            String connectionUrl = "jdbc:mysql://localhost:3306/test";
            String connectionUser = "root";
            String connectionPassword = "";
            conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT * FROM java");
            while (rs.next()) {
                String id = rs.getString("id");
                String firstName = rs.getString("name");
                String lastName = rs.getString("number");
                System.out.println("ID: " + id + ", First Name: " + firstName
                        + ", Last Name: " + lastName);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try { if (rs != null) rs.close(); } catch (SQLException e) { e.printStackTrace(); }
            try { if (stmt != null) stmt.close(); } catch (SQLException e) { e.printStackTrace(); }
            try { if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); }
        }
    }
}

這是test.java文件:

public class Test {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        MySqlJdbcTest prueba = new MySqlJdbcTest();
        prueba();
    }
}

您有2個main(String[])方法。 Java要求您將其中之一作為應用程序的入口點。

如果我們假設Test.main()是應用程序的入口點,則可以將另一個調用為

public static void main(String[] args) {
    MySqlJdbcTest.main(args);
}

這等效於調用static方法。

但是,為了使情況更清楚,建議您將MySqlJdbcTest.main()方法重命名為其他名稱,並可能刪除static修飾符和String[]參數。 最終會像

public class MySqlJdbcTest {
    public void executeSql() {
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try {
    //          new com.mysql.jdbc.Driver();
            Class.forName("com.mysql.jdbc.Driver").newInstance();
                        //conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=");
            String connectionUrl = "jdbc:mysql://localhost:3306/test";
            String connectionUser = "root";
            String connectionPassword = "";
            conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
            stmt = conn.createStatement();
            rs = stmt.executeQuery("SELECT * FROM java");
            while (rs.next()) {
                String id = rs.getString("id");
                String firstName = rs.getString("name");
                String lastName = rs.getString("number");
                System.out.println("ID: " + id + ", First Name: " + firstName
                        + ", Last Name: " + lastName);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try { if (rs != null) rs.close(); } catch (SQLException e) { e.printStackTrace(); }
            try { if (stmt != null) stmt.close(); } catch (SQLException e) { e.printStackTrace(); }
            try { if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); }
        }
    }
}

由於該方法現在是實例方法,因此您需要一個類的實例才能在其上運行

public class Test {
    public static void main(String[] args) {
        MySqlJdbcTest prueba = new MySqlJdbcTest();
        prueba.executeSql();
    }
}

考慮在此處閱讀官方Java教程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM