java中从main调用mysql连接的方法

java中从main调用mysql连接的方法,java,mysql,Java,Mysql,我正在学习java,我添加了带有netbeans的mysql连接器,我正在尝试做一个示例应用程序来查询数据库,但是我不知道如何调用从主方法建立连接的方法 这是我的密码: MySqlJdbcTest.java: public class MySqlJdbcTest { public static void main(String[] args) { Connection conn = null; Statement stmt = null;

我正在学习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);
}
这相当于调用一个
静态
方法

但是,为了让事情更清楚,我建议您将
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();
    }
}
考虑阅读

将“main”方法重命名为其他方法,如“DoTest”,然后在Test.main中调用prueba.DoTest();