我使用以下代码连接到MySQL:
public class DriverFabric {
private static final String USERNAME = "root";
private static final String PASSWORD = "root";
private static final String URL = "jdbc:mysql://localhost:3306/smartcrm";
public static void main(String[] args) throws SQLException {
Connection connection = null;
Driver driver = null;
try {
driver = new FabricMySQLDriver();
} catch (SQLException e) {
e.printStackTrace();
}
try {
DriverManager.registerDriver(driver);
} catch (SQLException e) {
e.printStackTrace();
}
try {
connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
System.out.println("Connected");
} catch (SQLException e) {
e.printStackTrace();
} finally {
if(connection!=null){
connection.close();
}
}
}
}
它连接好了。但如果我评论这个Fabric类,它也可以连接OK:
/*
try {
driver = new FabricMySQLDriver();
} catch (SQLException e) {
e.printStackTrace();
}
try {
DriverManager.registerDriver(driver);
} catch (SQLException e) {
e.printStackTrace();
}
*/
在最近的JDBC库中甚至没有包含它。那么它是否有利于我的代码,或者更好地连接MySQL而没有这个Fabric类?
答案 0 :(得分:0)
您不应该自己注册驱动程序,驱动程序在加载时会自行注册。从Java 6(JDBC 4.0)开始,将自动发现并加载驱动程序。
同样根据http://insidemysql.com/tag/fabric/ Fabric支持仍包含在最新的驱动程序中。请参阅http://dev.mysql.com/doc/mysql-utilities/1.5/en/connector-j-fabric-connect.html了解如何连接。
例如,驱动程序名为com.mysql.fabric.jdbc.Driver
,而不是FabricMySQLDriver
,并且您需要连接到Fabric的URL具有前缀jdbc:mysql:fabric://
。据我所知,您当前的代码一直使用普通的MySQL驱动程序进行连接。