Java 无法通过Eclipse连接到Google云,newInstance函数被划掉
您好,我有这个简单的java代码在mac的Eclipse中运行,只是尝试连接到我的google云数据库Java 无法通过Eclipse连接到Google云,newInstance函数被划掉,java,mysql,google-cloud-platform,Java,Mysql,Google Cloud Platform,您好,我有这个简单的java代码在mac的Eclipse中运行,只是尝试连接到我的google云数据库 public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException { Class.forName("com.mysql.jdbc.Driver").newInstance(); C
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection = DriverManager.getConnection("jdb:mysql://XX.XXX.X.XXX/test","root","1234");
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("select * from cars");
while(rs.next())
{
System.out.println(rs.getString(1));
}
connection.close();
}
}
我遇到的问题是,当我使用newInstance函数时,Eclipse会将其划掉,当我运行程序时,会出现错误:
线程“main”java.sql.SQLException中的异常:未找到适合jdb的驱动程序:mysql://XX.XXX.X.XXX/test
如果您能帮助解决此问题,我们将不胜感激 我认为代码中的问题在于“jdb”中缺少“c”。替换:
Connection connection = DriverManager.getConnection("jdb:mysql://XX.XXX.X.XXX/test","root","1234");
与:
Connection connection = DriverManager.getConnection("jdbc:mysql://XX.XXX.X.XXX/test","root","1234");
验证您是否已将JAR文件导入Eclipse,如中所述
正如@apemanzilla在他的评论中所说的那样,删去意味着该方法。以下几行解释了如何更新它:
调用class.newInstance()
可以替换为class.getDeclaredConstructor().newInstance()
“划线”表示该方法已弃用,不应再使用。我不确定这个错误。(
Class.newInstance
在Java 9及更高版本中已被弃用,请参阅以获取更多信息)@apemanzilla能否将此作为答案发布?我可能会在你发布的链接中包含下面的“弃用”描述。@RubénC。我没有将其作为答案发布,因为它没有回答有关异常的主要问题,它只是解释了“划掉”的含义。@apemanzilla我认为你的建议可以解决问题,但事实上Class.forName(…).newInstance()没有抛出异常。