Что делает Class.forName в соединении с базой данных? - PullRequest
0 голосов
/ 09 мая 2019

Я видел в уроках использование "Class.forName". Пожалуйста, дайте мне знать, что он делает, и если этот код будет работать правильно?

 public class Conexao {
    String ip = "ip";
    String class = "net.sourceforge.jtds.jdbc.Driver";
    String bd = "nomeBD";
    String username = "UserName";
    String password = "password";

    @SuppressLint("NewApi")
    public Connection CONN() {
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
        Connection conn = null;
        String ConnURL;
        try {
            Class.forName(class);
            ConnURL = "jdbc:jtds:sqlserver://" + ip + ";" + "databaseName=" + bd + ";user=" + username + ";password=" + password + ";";
            conn = DriverManager.getConnection(ConnURL);
        } catch (SQLException se) {
            Log.e("ERROR", se.getMessage());
        } catch (Exception e) {
            Log.e("ERROR", e.getMessage());
        }
        return conn;
    }
}

1 Ответ

0 голосов
/ 09 мая 2019

не видит сообщение об ошибке, и оно может быть неправильно сформировано. обычно я пишу:

String url = "jdbc:mysql://localhost:3306/samp_db";
...
DriverManager.getConnection(url, username, password);
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...