首页 > 解决方案 > 如何以交互方式自动连接到嵌入式 Derby 数据库

问题描述

我正在使用 Intellij IDEA 来编写一个使用嵌入式 Derby 数据库的 Maven Java 项目。

来自我的 pom.xml:

<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derby</artifactId>
    <version>10.14.2.0</version>
</dependency>
<dependency>
    <groupId>org.apache.derby</groupId>
    <artifactId>derbytools</artifactId>
    <version>10.14.2.0</version>
</dependency>

Intellij 外部库

我发现了如何通过创建一个执行 main() 方法的新类以交互方式运行 ijorg.apache.derby.tools.ij

import java.io.IOException;

public class runij {
    public static void main(String[] args) {
        String url = "jdbc:derby:codejava/webdb1;create=true";
        try {
            org.apache.derby.tools.ij.main(new String[0]);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

有没有办法让它自动连接到数据库 url,jdbc:derby:codejava/webdb1所以我不必connect 'jdbc:derby:codejava/webdb1';每次都手动输入它?

标签: javadatabasemavenjdbcderby

解决方案


不,感谢随机投票者,但我从这个页面找到了如何做到这一点。

我稍微更改了程序 - 原始程序没有正确获取参数。

import java.io.IOException;

public class runij {
    public static void main(String[] args) {
        String url = "jdbc:derby:codejava/webdb1;create=true";
        try {
            org.apache.derby.tools.ij.main(args);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

然后我ij.properties在项目的根目录中添加了一个文件,其中包含:

ij.database=webdb1
ij.protocol=jdbc:derby:codejava/

然后添加一个运行配置以-p ij.properties在执行时添加到参数中。

运行配置


推荐阅读