我正在尝试用java中的一个singelton类连接到我的数据库。这是我当前的代码:
public class Database {
public static Database instance;
private Connection connection;
private Database() {
try {
Class.forName("com.mysql.jdbc.Driver");
Log.debug("ok");
this.connection = DriverManager.getConnection("jdbc:mysql://just.not.for.you:3006/database?connectTimeout=5000", "database", "secret");
Log.debug("ok");
} catch (ClassNotFoundException e) {
Log.warn("Cloud not find jdbc driver class");
} catch (SQLException e) {
Log.warn("Cloud not connect to database: " + e.getMessage(), e);
}
}
public static synchronized Database getInstance() {
if(Database.instance == null) {
Database.instance = new Database();
}
return Database.instance;
}
在我的主类中,我调用了Database.getInstance()
,但是什么也没有发生。没有错误,没有超时消息。这似乎是一个无穷无尽的循环。我在第10行看到了第一条调试消息,但没有看到第12行的消息。
有什么问题吗?
编辑:我可以用我的本地计算机通过mysql工作台连接到远程数据库
发布于 2018-06-24 02:26:57
我在你的代码中发现了一些问题!
因为是deprecated
com.mysql.cj.jdbc.Driver
,所以用新的驱动程序com.mysql.cj.jdbc.Driver
替换com.mysql.jdbc.Driver
https://stackoverflow.com/questions/51003650
复制相似问题