在使用JDBC的第一步就是装载JDBC驱动。一个JDBC驱动是一个实现了java.sql.Driver接口的类。
有3中常用的方法可以装载JDBC驱动。
方法1:使用Class.forName()
方法2:使用DriverManager.registerDriver()
方法3:使用Thread类进行装载
[b]方法1:使用Class.forName()[/b]
这是最常用的一种方式。在Java语言中,如果调用Class.forName(),JVM将会装载对应的类。例如:(这里假设使用mysql)
上述代码执行的效果是JVM将会装载org.gjt.mm.mysql.Driver的实例。根据JDBC规范,所有的JDBC驱动都必须把自己注册到java.sql.DriverManager。大部分驱动注册的方式是使用静态代码块。
[b]方法2:使用DriverManager.registerDriver()[/b]
[b]方法3:使用Thread类进行装载[/b]
三种方法互相比较,方法一最为简洁,因此推荐使用。
有3中常用的方法可以装载JDBC驱动。
方法1:使用Class.forName()
方法2:使用DriverManager.registerDriver()
方法3:使用Thread类进行装载
[b]方法1:使用Class.forName()[/b]
这是最常用的一种方式。在Java语言中,如果调用Class.forName(),JVM将会装载对应的类。例如:(这里假设使用mysql)
String className = "org.gjt.mm.mysql.Driver";
Class.forName(className);
上述代码执行的效果是JVM将会装载org.gjt.mm.mysql.Driver的实例。根据JDBC规范,所有的JDBC驱动都必须把自己注册到java.sql.DriverManager。大部分驱动注册的方式是使用静态代码块。
static {
....//获得一个驱动的实例driver
DriverManager.registerDriver(driver);
}
[b]方法2:使用DriverManager.registerDriver()[/b]
try {
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
}catch(SQLException e) {
e.printStackTrace();
}
[b]方法3:使用Thread类进行装载[/b]
String driverName = "org.gjt.mm.mysql.Driver";
try {
Thread.currentThread().getContextClassLoader().loadClass(driverName);
}catch(SQLException e) {
e.printStackTrace();
}
三种方法互相比较,方法一最为简洁,因此推荐使用。