java - 在数据库连接中,Class.forName 的作用是什么?

标签 java android sql-server

我在教程中看到了“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;
    }
}

最佳答案

没有看到错误消息,并且格式可能不正确。通常我会写:

String url = "jdbc:mysql://localhost:3306/samp_db";
...
DriverManager.getConnection(url, username, password);
....

关于java - 在数据库连接中,Class.forName 的作用是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56055409/

相关文章:

android - 无法解析方法 'startActivity(android.content.Intent)'

python - pyodbc.connect() 有效,但 sqlalchemy.create_engine().connect() 无效

java - 在 Web 应用程序中使用 @Scheduled 注释 (JSF+Spring)

mysql - 查找最新记录 : left outer join vs. 降序排序

java - 如何使用java将值插入sql server?

java - JMS 队列 - 发送和接收对象消息之间有 10 秒的暂停

java - 如何创建一个通用方法来返回枚举值数组而不是其常量?

java - 创建 JSONArray 时出现 NullPointerException

javascript - 我的 javascript 文件出错

android - Recyclerview 项目在给它匹配父项时不会占据屏幕的所有宽度