,第二种方法不可以的,它一定要有jdbc的驱动才可以通过编译,这样对我们的程序就有很多的不好之处,为程序换数据库会带来麻烦,并且,Driver类中就有一个静态的代码块,只要我们执行了Driver类中的静态代码块,并把驱动的实例放入到Drivers的一个数组列表中,我们再调用方法registerDrever就相当于又向drivers列表中放了一次driver驱动,意思是加载了两次驱动,虽然这并不影响我们程序,但是这样做实在是没有必要,还会影响程序的运行。
第三种虽然也可以脱离,但是方法参数设置相对来说较为复杂,它可以设置多个驱动,所以在加载单个驱动时,一般采用第一种方法。
第一种方法是通过Class把类先装载到java的虚拟机中,并没有创建Driver类的实例。好处在于能够在编译时不依赖于特定的JDBC Driver库,也就是减少了项目代码的依赖性,而且也很容易改造成从配置文件读取JDBC配置,从而可以在运行时动态更换数据库连接驱动。
1、Class.forName(“com.mysql.jdbc.Driver”)最常用
1 try{2 Class.forName("com.mysql.jdbc.Driver");//加载数据库驱动
3 String url="jdbc:mysql://localhost:3306/databasename";//数据库连接子协议
4 Connection conn=DriverManager.getConnection(url,"username","password");5 Statement stmt=conn.createStatement();6 ResultSet rs&#