Java 在IntelliJ Idea 13中创建/配置Derby JDBC客户端

Java 在IntelliJ Idea 13中创建/配置Derby JDBC客户端,java,jdbc,intellij-idea,derby,Java,Jdbc,Intellij Idea,Derby,对不起,这个(也许)愚蠢的问题。 我需要在java项目中创建一些本地数据库,所以我决定使用ApacheDerby客户端。我正在与IntelliJ IDEA 13 Ultimate合作,我的问题是我不知道如何创建本地数据库。 Jetbrains网站上的教程没有什么用处,因为有些文章只是关于连接到远程数据库,而不是本地数据库(或者至少我还没有找到它们) 到目前为止,我做了什么: 我试图通过创建新的远程derby数据源来设置DB。 设置的屏幕截图: 用户名和密码相同:admin 单击测试连接后,将抛出

对不起,这个(也许)愚蠢的问题。 我需要在java项目中创建一些本地数据库,所以我决定使用ApacheDerby客户端。我正在与IntelliJ IDEA 13 Ultimate合作,我的问题是我不知道如何创建本地数据库。 Jetbrains网站上的教程没有什么用处,因为有些文章只是关于连接到远程数据库,而不是本地数据库(或者至少我还没有找到它们)

到目前为止,我做了什么:

  • 我试图通过创建新的远程derby数据源来设置DB。 设置的屏幕截图:
  • 用户名和密码相同:
    admin

  • 单击
    测试连接后
    ,将抛出此错误:
  • 当我单击
    apply
    ok
    时,它表示它已连接,但异常仍然存在
  • 你知道问题出在哪里吗? 我有一个名为DatabaseSetting.java的小型确认类

    package issuetrackinglite;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class DatabaseSetting {
    
    private String dbURL = "jdbc:derby://localhost:1527/MallDB;create=true";
    private String user = "admin";
    private String password = "admin";
    private Connection connection;
    
    
    
    public static final String CREATE_ITEMS_DB = "CREATE TABLE items (item_id INTEGER NOT NULL, item_name VARCHAR(20) NOT NULL, item_price REAL NOT NULL, multiplicity_shop INTEGER NOT NULL, multiplicity_store INTEGER NOT NULL)";
    public static final String INSERT_PRODUCT = "INSERT INTO items (item_id, item_name, item_price, multiplicity_shop, multiplicity_store) VALUES (?, ?, ?, ?, ?)";
    public static final String CLEAR_ITEMS_DB = "DELETE FROM items";
    
    // -------------------------------------------------------------
    
    protected Connection connectToDB() {
    
        try {
    
            connection = DriverManager.getConnection(dbURL, user, password);
    
            return connection;
    
        } catch (SQLException ex) {
            System.out.println("SQL exception - connectToDB(): " + ex.getMessage());
            return null;
        }
    
    }
    
    }

    编辑

    简单解释:我只需要创建虚拟derby数据库,它将在每次程序启动时创建。 我不知道,用IntelliJ怎么做。 我已经在环境变量中添加了
    DERBY\u HOME
    ,还添加了DERBY的路径。现在IntelliJ引发了此错误:

    非常感谢您的帮助和时间

    我认为对于本地(嵌入式)数据库,您应该在连接url中省去主机和端口


    声明url的格式应为:
    jdbc:derby:MallDB;create=true

    我已经设法完成了这项工作。以下是我为成功配置本地Derby数据库以在IntelliJ Idea 13/14中工作而采取的步骤

  • 首先,在IDEA中使用derby服务器之前,需要手动启动它(如果它尚未运行)。我通常通过命令提示符键入:

    C:\Users\PcName>startNetworkServer-noSecurityManager

    此命令将在端口号:1527上启动derby服务器。确保已在环境变量中正确设置路径

  • 接下来转到IDEA,打开数据库窗口,点击左上角的绿色加号,在下拉菜单中选择:
    datasource->Derby->Remote

  • 你可以从我问题的截图中提供的设置中获得启发。您还可以下载Derby驱动程序文件。IDEA只需点击下载按钮即可实现

    我经常使用的基本模板如下:

    名称字段的格式应为:
    Derby-YourDatabaseName;创造=true@localhost

    主机字段内部应包含
    localhost

    端口必须是
    1527

    数据库字段必须采用以下格式:
    YourDatabaseName;create=true

    要连接的Urc:
    jdbc:derby://localhost:1527/YourDatabaseName;create=true

  • (可选)-您可以指定数据库用户名和密码。在IDEA 14中,有一个带有主密码保护的磁盘上保存复选框,我个人总是不选中它


  • 就这样。我希望这本小指南能帮助人们在Intellij IDEA中配置Derby,对于嵌入式数据库,使用内存中的默认值,只使用URL连接URL输入字段右侧的选择框。当在内存中设置为
    ,它会生成以下URL,这对我来说很有用

     jdbc:derby:memory:MallDB;create=true
    

    比你更感谢你的回答。尝试创建嵌入式数据库无效。错误仍然相同:
    到MallDB的连接失败。无法创建数据库
    可能我没有使用正确的工具。或者是某种特权问题?项目目录位于
    C:/Users/。
    是的,这太完美了。我很感激导游。