`
AutomaticThoughts
  • 浏览: 162337 次
社区版块
存档分类
最新评论

【JDBC】java中常见三种注册驱动方式比较

 
阅读更多

1.DriverManager.registerDriver(new com.mysql.jdbc.Driver());

缺点:由new com.mysql.jdbc.Driver()可以知道,这里需要创建一个类的实例。创建类的实例就需要在java文件中将该类通过import导入,否则就会报错,即采用这种方式,程序在编译的时候不能脱离驱动类包,为程序切换到其他数据库带来麻烦。实际上这个地方还做了一次无用功,Driver类中本身已经含有静态块将instance放入驱动列表中。(详细说明可以参照mysql的Driver类)
public class Driver extends NonRegisteringDriver implements java.sql.Driver {  // ~ Static fields/initializers  // ---------------------------------------------   //  // Register ourselves with the DriverManager  //  static {  try {  java.sql.DriverManager.registerDriver(new Driver());  } catch (SQLException E) {  throw new RuntimeException("Can't register driver!");  }  }   // ~ Constructors  // -----------------------------------------------------------   /**   * Construct a new driver and register it with DriverManager   *   * @throws SQLException   *             if a database error occurs.   */  public Driver() throws SQLException {   // Required for Class.forName().newInstance()  } }

由上可见,在创建Driver类的时候,其实已经调用一次registerDriver方法了、
2,System.setProperty(”jdbc.drivers“,”com.mysql.jdbc.Driver“);
可以脱离驱动包编译,可以同时设置多个驱动,多个驱动之间使用冒号分隔。
3,Class.forName(“com.mysql.jdbc.Driver”);
此方式由于参数为字符串,因此很容易修改,移植性强。
最常见的注册方式,也是推荐的方式。
分享到:
评论

相关推荐

    JDBC 常见数据库驱动打包下载

    该压缩包中包含常见数据库 JDBC 驱动,有SQL Server、Mysql、DB2、Oracle、Informix、Sybase等等,非常齐全!

    JDBC驱动jar大全

    该资源分数比较多,资源也不错,还望谅解。作者搜集了MySQL、Oracle、SQLite、SQLServer的JDBC驱动(多个版本的jar),同时还提供了关于常见数据库JDBC URL的写法。

    基于JDBC的Java连接数据库的学生管理系统(若不能成功运行可私信我!!!)

    开发者需要根据所使用的数据库选择相应的JDBC驱动程序,并将其加载到Java应用程序中。驱动程序提供了一组API,供开发者编写Java代码与数据库进行交互。 3. 连接管理器:连接管理器负责管理与数据库的连接。它负责...

    数据库驱动常见错误"java.lang.ClassNotFoundException:解决了jsp连接Error establishing socket.

    "java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver" 解决方案 [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 解决了jsp连接 sql server 2000的问题

    java连接各种数据库的驱动 jar包

    SqlServer 2000需要三个jar包:(1)msbase.jar (2)mssqlserver.jar (3)msutil.jar 三个jar包应放在web项目的webroot目录下的WEB-INF目录下的lib目录下 SQL2005需要一个jar包:sqljdbc.jar oracle9i的包:oracle14....

    JayBird-Java连接FireBird数据库包

    JayBird-Java连接FireBird数据库包,Firebird JCA/JDBC Driver。 常见异常代码:No connection character set specified (property lc_ctype, encoding, charSet

    JAVA上百实例源码以及开源项目

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    JAVA上百实例源码以及开源项目源代码

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    JAVA 数据库编程

    JDBC本身提供的是一套数据库操作标准,而这些标准又需要各个数据库厂商实现,所以针对于每一个数据库厂商都会提供一个JDBC的驱动程序,目前比较常见的JDBC驱动程序可分为以下四类: JDBC-ODBC桥驱动 JDBC本地驱动 ...

    适用SQL Server 2016版本的数据库加载驱动包sqljdbc42.jar

    用JAVA连接Server SQL,报错java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver,通过查找资料,JDBC加载驱动不成功,也知道这个是一个比较常见的问题。解决这个问题只需要加入jar就...

    java三大框架

    这三种框架在一起并不冲突,所以现在最常用的框架就是 struts+hibernate+spring就像我们盖房子一样,先把框架搭好,我们在在上面写代码就很规范。 Struts框架介绍 : Struts只是一个MVC框架(Framework),用于...

    Java 基础核心总结 +经典算法大全.rar

    JDBC 加载数据库驱动类反射的优势及缺陷 增加程序的灵活性破坏类的封装性 性能损耗 代理模式 静态代理与动态代理常见的动态代理实现JDK Proxy CGLIB JDK Proxy 和 CGLIB 的对比动态代理的实际应用 Spring AOP 变量 ...

    Java面试宝典-经典

    21、注册Jdbc驱动程序的三种方式 109 22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么...

    SQLServer2005 驱动程、-jarbao

    设置 Classpath JDBC 驱动程序并未包含在 Java SDK 中。因此,如果要使用该驱动程序,必须将 classpath 设置为包含 sqljdbc.jar 文件。如果 classpath 缺少 sqljdbc.jar 项,应用程序将引发“找不到类”的常见异常。...

    Java面试宝典2010版

    21、注册Jdbc驱动程序的三种方式 109 22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么...

    Java数据库编程宝典3

    第2部分 在两层客户/服务器结构中使用JDBC和SQL 第5章 使用JDBC和SQL创建表 5.1 创建数据库 5.2 使用表 5.2.1 记录和字段、行和列 5.2.2 SQL数据类型 5.2.3 完整性约束 5.3 创建表 5.4 使用JDBC创建表 ...

    sqljdbc41.jar

    用JAVA连接Server SQL,报错java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver,通过查找资料,JDBC加载驱动不成功,也知道这个是一个比较常见的问题。解决这个问题只需要加入jar就...

    java面试题大全(2012版)

    21、注册Jdbc驱动程序的三种方式 109 22、用JDBC如何调用存储过程 109 23、JDBC中的PreparedStatement相比Statement的好处 110 24. 写一个用jdbc连接并访问oracle数据的程序代码 111 25、Class.forName的作用?为什么...

Global site tag (gtag.js) - Google Analytics