文章目录
- 一、DriverManager 驱动管理类
- 1、注册驱动
- 2、建立数据库连接
一、DriverManager 驱动管理类
DriverManager 驱动管理类 有两个作用 :
- 注册驱动
- 建立数据库连接
1、注册驱动
调用 Class.forName 反射方法 , 加载 JDBC 驱动 ;
代码语言:javascript复制// 加载 JDBC 驱动
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");上述反射操作 , 将 com.microsoft.sqlserver.jdbc.SQLServerDriver 类加载到了内存中 , 在该类中 , 定义了如下静态代码块 :
/**
* 提供连接到SQL Server数据库和获取有关JDBC驱动程序的信息的方法。
*/
public final class SQLServerDriver implements java.sql.Driver {
// 在DriverManager上注册
static {
try {
register();
} catch (SQLException e) {
if (drLogger.isLoggable(Level.FINER) && Util.isActivityTraceOn()) {
drLogger.finer("Error registering driver: " e);
}
}
}
/**
* 将驱动注册到DriverManager。如果驱动程序已经注册,则无操作。
*
* @throws SQLException
* if error
*/
public static void register() throws SQLException {
if (!isRegistered()) {
mssqlDriver = new SQLServerDriver();
DriverManager.registerDriver(mssqlDriver);
}
}
}只要 将 SQLServerDriver 类加载到内存中 , 就会 自动执行上述 register() 注册方法 , 在注册方法中会调用
DriverManager.registerDriver(mssqlDriver);代码 , 注册驱动 ;
2、建立数据库连接
建立数据库链接 , 单个参数 函数原型 :
代码语言:javascript复制public static Connection getConnection(String url)单个参数传入的 数据库连接字符串 , 格式如下 :
代码语言:javascript复制// 数据库连接字符串
String connectionUrl = "jdbc:sqlserver://localhost:1433;databaseName=YourDatabaseName;user=YourUsername;password=YourPassword";需要在上面的 URL 中 , 拼接 IP 地址 , 端口号 , 数据库名称 , 用户名 , 密码 等信息 ;
建立数据库链接 , 三个参数 函数原型 :
代码语言:javascript复制public static Connection getConnection(String url,
String user, String password) throws SQLException单个参数传入的 数据库连接字符串 , 格式如下 :
代码语言:javascript复制// 数据库连接字符串
String connectionUrl = "jdbc:sqlserver://localhost:1433/YourDatabaseName";需要在上面的 URL 中 , 拼接 IP 地址 , 端口号 , 数据库名称 ,
第二个参数是 用户名 , 第三个参数是 密码 ;
代码示例 :
代码语言:javascript复制import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Example {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost/mydatabase";
String user = "root";
String password = "mypassword";
try {
Connection conn = DriverManager.getConnection(url, user, password);
// 使用连接执行数据库操作
} catch (SQLException e) {
System.out.println("无法连接数据库:" e.getMessage());
}
}
}


