我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:9号彩票 > 反射库 >

JAVA用JDBC连接数据库的时候为什么要先ClassforName()加载这个JD

归档日期:06-18       文本归类:反射库      文章编辑:爱尚语录

  JAVA用JDBC连接数据库的时候,为什么要先Class.forName()加载这个JDBC驱动类?我的理解如下:

  JAVA用JDBC连接数据库的时候,为什么要先Class.forName()加载这个JDBC驱动类?我的理解如下:

  我们引入的jdbc驱动类是已经编译后的.class字节码文件,这些字节码文件在JAVA项目编译的时候,是不能以代码形式复制到项目代码中的,所以,我们就要用Class.forName()起到一个类似提醒...

  我们引入的jdbc驱动类是已经编译后的.class字节码文件,这些字节码文件在JAVA项目编译的时候,是不能以代码形式复制到项目代码中的,所以,我们就要用Class.forName()起到一个类似提醒的作用,提醒JAVA项目编译的时候,把“编译后的字节码文件”跟这个jdbc驱动的字节码文件进行连接。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  这是JAVA通过相应驱动的标识名,利用反射功能动态创建驱动对象实例更多追问追答追问创建了哪个类的实例?DriverManager的吗?追答Class.forName动态加载指定的JDBC驱动,由DriverManager管理。

  DriverManager类用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。追问那为什么我不能以引入包的形式引入驱动呢?引入后再创建实例,然后让DriverManager来管理,不可以吗追答Class的装载过程分为三个阶段,loading(装载),linking(连接)和initializing(实例化)。

  其中操作过程还是有点复杂的,还是交给Class.forName处理比较好。

本文链接:http://comptoirtony.com/fansheku/363.html