JDBC之Class.forName()
来源:互联网 发布:ubuntu wily 编辑:程序博客网 时间:2024/05/17 23:12
我们在使用JDBC连接数据库时,最常用到的就是Class.forName(xxx.xxx……)这句代码来加载数据库驱动类,其加载的原理是java的反射机制。小括号中的xxx.xxx.xxx表示数据库驱动类的全名,全名即包括类名和类名前面所有包名。执行这句代码只是加载一个数据库驱动类。但是,在数据库驱动类被加载完后,它会做两件事。
根据JDBC规范,数据库驱动类必须自己向DriverManager类注册自己,所有遵守这个规范的数据库驱动类都必须有下面类似的代码:
public class myjdbcdriver implements driver {
static {
drivermanager.registerdriver(new myjdbcdriver());
}
}
这是一个静态初始化块,静态初始化块内的代码是在类代码被加载到内存后立即执行的,在这里它做的两件事是:
1、创建自己的一个实例。
2、把这个实例注册到数据库驱动程序管理类 drivermanager中备用。
也就是说,数据库驱动类,只有一被加载,就会自动把自己的一个实例注册到数据库驱动程序管理类中等待被调用。
我们创建数据库连接一般是用DriverManager类的getConnection(url)方法,这个url参数中包括了请求连接的数据库的类型,DriverManager类从url中获取到的数据库类型,然后在已经向它注册了的那些驱动程序中查找,如果找到对应的驱动程序,就创建数据库连接,如果找不到,就报错。所以,DriverManager类要想建立到某类型数据库的连接,必须里面有注册这种类型的数据库驱动程序,而我们只需执行这句Class.forName(xxx.xxx……)就可以把我们需要的驱动注册到里面去。
- JDBC之Class.forName()
- JDBC Class.forName(); 原代码讲解
- jdbc中的class.forName详解
- JDBC的Class.forname()和Class.forname().newInstance的区别
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- JDBC Class.forName语句的作用
- JDBC连接中的Class.forName()解惑
- 使用JDBC时Class.forName()的作用
- Class.forName("com.mysql.jdbc.Driver")
- 使用JDBC时 Class.forName()的作用
- 使用JDBC时Class.Forname()的作用
- JDBC中Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- Class.forName("com.mysql.jdbc.Driver")
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 使用JDBC时Class.forName()的作用
- 比尔·盖茨的秘密~~
- 使用Ant创建javadoc
- Camtasia Recorder视频录制 使用教程
- 我的时间简史
- IT人转行其实是个人能力的心虚
- JDBC之Class.forName()
- 设计模式之Composite
- 互动投影原理简单介绍
- 找回Windows XP SP3的桌面IE图标
- 记录安装自己Linux系统
- h.264入门日志(1)
- Linux编程练习 --SystemV消息队列
- IP 电话(VoIP)语音质量的定量分析及测量
- 递归算法常见用例