我提出了以下实用程序类:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySqlConnection
{
private static String dbUrl = "jdbc:mysql://localhost:3306/database";
private static String dbUsername = "root";
private static String dbPassword = "mysql";
public static Connection getConnection()
{
Connection connection = null;
try {
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword);
} catch (ClassNotFoundException e) {
System.out.println("Could not load JDBC driver: " + e.getMessage());
} catch (SQLException e) {
System.out.println("Could not connect to DB: " + e.getMessage());
}
return connection;
}
}
Run Code Online (Sandbox Code Playgroud)
问题是:我不想从我的方法返回null …
我在这里读到,自从java 6以来你不再需要使用以下命令注册JDBC Driver:
Class.forName(JDBC_DRIVER);
Run Code Online (Sandbox Code Playgroud)
因为DriverManager使用位于系统属性"jdbc.drivers"中的路径 来检索正确的驱动程序.
但是当我做以下时:
System.out.print(System.getProperty("jdbc.drivers"));
Run Code Online (Sandbox Code Playgroud)
null 得到印刷.
你有什么线索为什么我的应用程序正常工作?;)