DB_CONNECTION_URL = "jdbc:mysql://localHost:3306/test_DB";
プログラムをデバッグすると、test_DB
が存在しないという例外が発生します。クエリの実行時にデータベースを作成することはできますか?
特定のデータベースではなく、サーバーに接続する必要があります。
DB_CONNECTION_URL = "jdbc:mysql://localHost:3306/";
そしてCREATE SCHEMA
、データベースを追加するために使用します。
私はjdbcについてあまり知りませんが、通常、データベースをまったく指定せずに接続し、存在するかどうかを確認し、存在する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);
次に、クエリを実行します..
あなたの質問によると、データベースを JDBC で接続した後、'test_DB' というデータベースを作成する必要があります。