Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在创建新的h2数据库之前检查现有的h2数据库_Java_Servlets_Jdbc_H2 - Fatal编程技术网

Java 如何在创建新的h2数据库之前检查现有的h2数据库

Java 如何在创建新的h2数据库之前检查现有的h2数据库,java,servlets,jdbc,h2,Java,Servlets,Jdbc,H2,我正在使用Javaservlet和h2嵌入式数据库开发一个学生数据库web应用程序。我需要知道如何找到典型的学生数据库是否存在。因此,如果不存在,则必须创建它,否则程序应继续使用现有程序。IFEXISTS 您可以在连接尝试中指定,仅当请求的数据库已存在时,才应完成连接。此功能使用语法 String url=“jdbc:h2:/data/sample;IFEXISTS=TRUE”; 数据库不存在时引发异常的陷阱 默认情况下,如果不指定IFEXISTS,H2会自动创建数据库(如果数据库不存在) 文

我正在使用Javaservlet和h2嵌入式数据库开发一个学生数据库web应用程序。我需要知道如何找到典型的学生数据库是否存在。因此,如果不存在,则必须创建它,否则程序应继续使用现有程序。

IFEXISTS
您可以在连接尝试中指定,仅当请求的数据库已存在时,才应完成连接。此功能使用语法

String url=“jdbc:h2:/data/sample;IFEXISTS=TRUE”;
数据库不存在时引发异常的陷阱

默认情况下,如果不指定
IFEXISTS
,H2会自动创建数据库(如果数据库不存在)

文件 您可以检查文件系统中是否存在数据库文件,假设您的数据库被持久化到存储器中(与内存中的数据库相反)。

IFEXISTS
您可以在连接尝试中指定,仅当请求的数据库已存在时,才应完成连接。此功能使用语法

String url=“jdbc:h2:/data/sample;IFEXISTS=TRUE”;
数据库不存在时引发异常的陷阱

默认情况下,如果不指定
IFEXISTS
,H2会自动创建数据库(如果数据库不存在)

文件
您可以在文件系统中检查数据库文件是否存在,假设您的数据库被持久化到存储器中(与内存中的数据库相反)。

我发现这个方法解决了我的问题,首先连接对象检查数据库是否存在,如果不存在,它会在创建数据库时引发异常

try
{
Connection c=DriverManager.getConnection("jdbc:h2:aaa;IFEXISTS=TRUE",username,password);
}
Catch(final Exception e)
{
connection c=DriverManager.getConnection("jdbc:h2:aaa","user","pass");
}

我发现这个方法解决了我的问题,首先连接对象检查数据库是否存在,如果不存在,它会在创建数据库的地方抛出异常

try
{
Connection c=DriverManager.getConnection("jdbc:h2:aaa;IFEXISTS=TRUE",username,password);
}
Catch(final Exception e)
{
connection c=DriverManager.getConnection("jdbc:h2:aaa","user","pass");
}

你的软件栈是什么,Spring,Hibernate?应该有一个更新选项。亲爱的投票人:请在投票时留下批评。这对我来说似乎是一个明智而重要的问题。欢迎来到堆栈溢出。你可以改进你的问题。请阅读包含“如何以智能方式提问”链接的内容。您的软件堆栈是什么,Spring,Hibernate?应该有一个更新选项。亲爱的投票人:请在投票时留下批评。这对我来说似乎是一个明智而重要的问题。欢迎来到堆栈溢出。你可以改进你的问题。请阅读包括“如何以聪明的方式提问”链接的内容。是@BasilBourque我根据您的答案推断出此方法,非常感谢您的信息是@BasilBourque我根据您的答案推断出此方法,非常感谢您的信息