色破飞机 发表于 2017-12-13 09:57:10

mysql的三种驱动类型

  http://862123204-qq-com.iteye.com/blog/1566581
  1.>
Java代码
[*]Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
[*] String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议
[*] Connection conn=DriverManager.getConnection(url,"username","password");
  此方式由于参数为字符串,因此很容易修改,移植性强。
  最常见的注册方式,也是推荐的方式。
  2. new com.mysql.jdbc.Driver() ;//创建driver对象,加载数据库驱动
Java代码
[*]new com.mysql.jdbc.Driver();//创建driver对象,加载数据库驱动
[*] String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议
[*] Connection conn=DriverManager.getConnection(url,"username","password");
  这里不需要这样写DriverManager.registerDriver(new com.mysql.jdbc.Driver()),原因是com.mysql.jdbc.Driver类的静态代码快里面已经进行了修改的操作
Java代码
[*]static {
[*]      try {
[*]            java.sql.DriverManager.registerDriver(new Driver());
[*]      } catch (SQLException E) {
[*]            throw new RuntimeException("Can't register driver!");
[*]      }
[*]    }
  由new com.mysql.jdbc.Driver()可以知道,这里需要创建一个类的实例。创建类的实例就需要在java文件中将该类通过import导入,否则就会报错,即采用这种方式,程序在编译的时候不能脱离驱动类包,为程序切换到其他数据库带来麻烦
  3.System.setProperty("jdbc.drivers","com.mysql.jdbc.Driver");
Java代码
[*]System.setProperty("jdbc.driver","com.mysql.jdbc.Driver");//系统属性指定数据库驱动
[*]String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议
[*]Connection conn=DriverManager.getConnection(url,"username","password");
  可以同时导入多个jdbc驱动,中间用冒号“:”分开
  比如System.setProperty("jdbc.drivers","XXXDriver:XXXDriver:XXXDriver");
  这样就一次注册了三个数据库驱动
  总结:推荐1,和2两种方式。
  原因:3在编译时需要导入对应的lib。1,2不需要。
页: [1]
查看完整版本: mysql的三种驱动类型