在另一种方法

时间:2016-01-14 20:10:24

标签: java class methods

如何调用连接方法并使用该方法中的变量与其他方法一起使用。请考虑以下情况:

public final class AnApplication extends javax.swing.JFrame { 

    public AnApplication {

    // Stuff

    }
    public Connection connectDB() {

        Connection conn = null;
        String url = "jdbc:mysql://localhost:3306/car_rental";
        String driver = "com.mysql.jdbc.Driver";
        String user = "username";
        String pass = "password";

        try {
            Class.forName(driver);
            conn = (Connection) DriverManager.getConnection(url, user, pass);
            if (conn == null) {
                System.out.println("Connection cannot be established");
            }       
        } catch (Exception e) {
            System.out.println(e);
        }
        return conn;
    }  

}
}

public void someQuery() {
    connectDB();
    try
    {

        // Insert Statement with ? Placeholders
        conn = DriverManager.getConnection(url, username, password);
        System.out.print("Connected Successfully\n");

        String query = "CREATE TABLE IF NOT EXISTS `tableName`";


        PreparedStatement preparedStmt = conn.prepareStatement(Query);

        //Execute the Prepared Statement/Query
        preparedStmt.execute();

        System.out.print("Tables inserted successfully");
    }

    catch (Exception e)
    {   
        System.err.println("Got an exception!");
        System.err.println(e.getMessage());
    }   
}

通过在下面的方法中调用下面的connectDB(),我仍然无法在创建的someQuery方法中访问我的变量。如何在调用方法时创建方法并使其可以在方法中访问,而不必一遍又一遍地写入连接字符串。很抱歉,如果这可能是一个愚蠢的问题,我仍然是Java和OOP概念的新手。

1 个答案:

答案 0 :(得分:0)

您希望重用您在connectDB()中定义的相同代码。

.project-input-container {
    top: 100px; /*this*/
    left: 3%;
    position: relative;
}

.project-input-container {
    margin-top: 160px; /*this*/
    margin-left: 9%;
}

如果这是一个非平凡的应用程序,您还需要考虑汇集您的连接,而不是每次关闭和重新打开。