java - 在数据库连接中,Class.forName 做什么?
问题描述
我在教程中看到使用“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);
....
推荐阅读
- javascript - 如何从网页中的文本框中替换 xml 中的现有标签文本
- java - 具有泛型返回类型的覆盖方法中的参数导致覆盖失败
- c# - Asp.net 计时器作为 ref 传递给其他形式的函数在启用时不会打勾
- android-studio - 如何创建母语键盘
- java - 为调度任务及其取消配置线程池
- kubernetes - 是否可以获取 `.env` 文件来创建 Kubernetes 机密?
- php - 为什么即使数据库中不存在 id 和/或用户名我也会成功
- php - 自定义功能显示在所有页面上
- go - Golang bytes.Buffer - 传递值问题
- oracle - 想要对数据进行四舍五入