Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.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
嵌入式Derby数据库的Java应用_Java_Swing_Derby - Fatal编程技术网

嵌入式Derby数据库的Java应用

嵌入式Derby数据库的Java应用,java,swing,derby,Java,Swing,Derby,我使用ApacheDerby数据库创建了一个JavaSwing应用程序。我想知道我该如何做以下事情 用户第一次双击应用程序时,会在用户机器上为Derby数据库找到合适的位置,创建数据库并定义所有表、视图等,并加载任何初始数据。 然后,在应用程序的后续运行中,它将能够重新打开数据库并继续使用它。 您可以使用System.getProperty中的user.home属性,该属性将返回用户的主目录作为数据库的主路径。在Windows上,我建议使用{user.home}\AppData\Remote\{

我使用ApacheDerby数据库创建了一个JavaSwing应用程序。我想知道我该如何做以下事情

用户第一次双击应用程序时,会在用户机器上为Derby数据库找到合适的位置,创建数据库并定义所有表、视图等,并加载任何初始数据。 然后,在应用程序的后续运行中,它将能够重新打开数据库并继续使用它。

  • 您可以使用
    System.getProperty
    中的
    user.home
    属性,该属性将返回用户的主目录作为数据库的主路径。在Windows上,我建议使用
    {user.home}\AppData\Remote\{You application name}
    作为基本路径
  • Derby创建一个与数据库同名的目录,您可以检查该目录是否存在。问题是不能保证它包含有效的数据库
  • 您可以创建到数据库的正常连接,检查现有表是否存在,并根据需要构建它们。这可以确保,如果由于某种原因,没有创建所有表,您可以在该点进行恢复

以下各项应在本地主机的默认端口(1527)上启动derby数据库服务

    NetworkServerControl obj= new NetworkServerControl();
    obj.start(null);
使用带有“create=true”的dburl,即

    jdbc:derby://localhost:1527/macdb;create=true 

上面应该使db目录(macdb)与当前目录上的服务名称相同。

您可以使用System.getProperty中的“user.home”来查找用户的主目录。您可以使用它作为路径的基础(我会将应用程序名附加到它后面)。数据库存储在与数据库同名的目录中。如果此目录存在(并约束文件),则数据库应退出。另一种解决方案可能是以正常方式创建与数据库的连接,然后检查是否存在一个或多个表。注释可能更适合作为答案,@Mad。您可能希望查看并以编程方式使用它来设置和填充数据库。