Java中MySQL临时表的连接字符串

Java中MySQL临时表的连接字符串,java,mysql,Java,Mysql,我试图在内存中创建一个临时表,以便在其中存储一些数据,并在应用程序生命周期内使用它 我正在尝试做以下事情: StringBuilder sb = new StringBuilder(); sb.append("CREATE TEMPORARY TABLE XmlItems ENGINE=MEMORY AS ("); // Continue with columns definitions sb.append(")"); Class.forName("com.mysql.jdbc.Driver"

我试图在内存中创建一个临时表,以便在其中存储一些数据,并在应用程序生命周期内使用它

我正在尝试做以下事情:

StringBuilder sb = new StringBuilder();
sb.append("CREATE TEMPORARY TABLE XmlItems ENGINE=MEMORY AS (");
// Continue with columns definitions
sb.append(")");

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/");
Statement stat = conn.createStatement();
stat.executeUpdate(sb.toString());
但正在引发以下异常:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
我猜它与连接字符串有关


有什么想法吗?

您没有在jdbc连接URL中提供架构名称。请在URL末尾添加架构名称后重试

jdbc:mysql://localhost:3306/myschema

检查以确保数据库(在本例中为mysql)已启动/运行,连接
String
看起来很好,尽管您没有添加要使用的数据库名称而不是
“jdbc:mysql://localhost:3306/“
使用
”jdbc:mysql://localhost:3306/databae_name"

连接字符串必须包含要连接的数据库架构

DriverManager.getConnection(“jdbc:mysql://localhost:3306/myTestDB");

另外,请确保MySQL实际上正在运行。“通信链路故障”听起来更像是端口3306的连接被拒绝