注册jdbc驱动程序的三种方式
1.快速了解三種注冊方式
Class.forName(“com.mysql.jdbc.Driver”);
DriverManager.registerDriver(new com.mysql.jdbc.Driver())
System.setProperty(“jdbc.drivers”,”com.mysql.jdbc.Driver”);
注釋:
第二種與第三種注冊的方法看起來更加的直接與好理解。第一種方法是通過Class把類先裝載到java的虛擬機中,并沒有創建Driver類的實例。
第二種與第一種方法可以脫離jdbc的驅動進行編譯,第二種方法不可以的,它一定要有jdbc的驅動才可以通過編譯,這樣對我們的程序就有很多的不好之處,為程序換數據庫會帶來麻煩
第一種的好處在于能夠在編譯時不依賴于特定的JDBC Driver庫,也就是減少了項目代碼的依賴性,而且也很容易改造成從配置文件讀取JDBC配置,從而可以在運行時動態更換數據庫連接驅動。
2、比較常用Class.forName(“com.mysql.jdbc.Driver”)
try{Class.forName("com.mysql.jdbc.Driver");//加載數據庫驅動String url="jdbc:mysql://localhost:3306/databasename";//數據庫連接子協議Connection conn=DriverManager.getConnection(url,"username","password");Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery("select * from tablename");while(rs.next()){//不斷指向下一條記錄System.out.println("DeptNo:"+rs.getInt(1));System.out.println("\tDeptName:"+rs.getString(2));System.out.println("\tLOC:"+rs.getString(3)); } rs.close();stmt.close();conn.close(); }catch(ClassNotFoundException e){System.out.println("找不到指定的驅動程序類!"); }catch(SQLException e){e.printStackTrace(); }3、看起來比較直觀的一種方式,注冊相應的db的jdbc驅動,3在編譯時需要導入對應的lib
try{new com.mysql.jdbc.Driver();//創建driver對象,加載數據庫驅動String url="jdbc:mysql://localhost:3306/databasename";//數據庫連接子協議Connection conn=DriverManager.getConnection(url,"username","password");Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery("select * from tablename");while(rs.next()){//不斷指向下一條記錄System.out.println("DeptNo:"+rs.getInt(1));System.out.println("\tDeptName:"+rs.getString(2));System.out.println("\tLOC:"+rs.getString(3)); } rs.close();stmt.close();conn.close(); }catch(SQLException e){e.printStackTrace(); }還可以按如下方式注冊:
DriverManager.register(new com.mysql.jdbc.Driver()); 但是該方式注冊了兩次驅動,所以不使用4、通過系統的屬性設置System.setProperty(“jdbc.driver”,”com.mysql.jdbc.Driver”);
try{System.setProperty("jdbc.driver","com.mysql.jdbc.Driver");//系統屬性指定數據庫驅動String url="jdbc:mysql://localhost:3306/databasename";//數據庫連接子協議Connection conn=DriverManager.getConnection(url,"username","password");Statement stmt=conn.createStatement();ResultSet rs=stmt.executeQuery("select * from tablename");while(rs.next()){//不斷指向下一條記錄System.out.println("DeptNo:"+rs.getInt(1));System.out.println("\tDeptName:"+rs.getString(2));System.out.println("\tLOC:"+rs.getString(3)); } rs.close();stmt.close();conn.close(); }catch(SQLException e){e.printStackTrace(); }總結
以上是生活随笔為你收集整理的注册jdbc驱动程序的三种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringMVC中跳转路径的问题
- 下一篇: String s=new String(