什么可以使用FabricMySQLDriver,如果我连接它没有它会发生什么变化?

时间:2017-01-07 20:17:09

标签: java mysql jdbc

我使用以下代码连接到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类?

1 个答案:

答案 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驱动程序进行连接。