http://862123204-qq-com.iteye.com/blog/1566581
1. Class.forName("com.mysql.jdbc.Driver");//加載數據庫驅動
- 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對象,加載數據庫驅動
- 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類的靜態代碼快里面已經進行了修改的操作
- 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");
- 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不需要。