DB_CONNECTION_URL = "jdbc:mysql://localHost:3306/test_DB";
test_DB
当我调试程序时,会发生不存在的异常。查询执行时是否可以创建数据库?
根据您的问题,您必须在将数据库与 JDBC 连接后创建名为“test_DB”的数据库。
您必须连接到服务器,而不是特定的数据库:
DB_CONNECTION_URL = "jdbc:mysql://localHost:3306/";
然后使用CREATE SCHEMA
添加数据库。
我对jdbc不太了解,但是通常您可以在根本不指定数据库的情况下进行连接,然后检查它是否存在,如果存在则执行a USE test_db
,如果不存在则创建它。
通常你会简单地看到CREATE DATABASE IF NOT EXISTS test_db
......然后USE test_db
(即消除显式检查存在的需要)
在执行查询之前检查数据库是否存在,请执行以下操作
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306","root","root");
Statement st = con.createStatement();
DatabaseMetaData meta = con.getMetaData();
ResultSet rs = meta.getCatalogs();
while (rs.next()) {
String listofDatabases=rs.getString("TABLE_CAT");
list.add(listofDatabases);
}
if(list.contains(database)){
System.out.println("Database already exists");
如果不写查询来创建数据库.. 喜欢
String database = DATABASENAME; // "nlshriraam";//bf.readLine();
st.executeUpdate("CREATE DATABASE "+database);
然后执行您的查询..