-1
我知道2的方式連接到數據庫,以及我將它分爲2種方法(方法1和方法2)的性差異的Java連接方法(的classforname&RegisterDriver)
Connection connection;
public void getConnectionMethod1() {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/latihan","sa","denni");
} catch (SQLException e) {
}
}
public void getConnectionMethod2() {
try {
DriverManager.registerDriver(new net.sourceforge.jtds.jdbc.Driver());
connection = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/latihan","sa","denni");
} catch (SQLException e) {
}
}
我的問題是;他們之間有什麼區別嗎?方法1使用Class.forName
而方法2使用registerDriver
它們之間的優缺點是什麼?
注:我只能利用PreparedStatement上方法2
現在很久以來,JDBC並不需要這些。只需調用DriverManager.getConnection就足夠了。 – VGR
VGR是正確的。所有較新的JDBC驅動程序都將自動註冊。這是通過驅動程序.jar文件中的文件「META-INF/services/java.sql.Driver」完成的。如果你的driver.jar文件有這個條目,你不需要任何一種方法。如果沒有,則應考慮升級到更新版本的驅動程序。 – Andreas
http://stackoverflow.com/questions/5484227/jdbc-class-forname-vs-drivermanager-registerdriver – Satya