【问题标题】:Where is the location for putting SQLite db file in JAVA project?将 SQLite db 文件放入 JAVA 项目的位置在哪里?
【发布时间】:2015-04-25 21:36:35
【问题描述】:

我在 Windows 7 中使用 Eclipse 进行 JAVA 开发,并将我的项目放在 D:\workspace 中。

以下代码试图连接到 SQLite 数据库,而 jdbc 地址是 jdbc:sqlite:sample.db,JAVA 正在寻找 sample.db 的位置在哪里?

public class Sample{
  public static void main(String[] args) throws ClassNotFoundException{

    Class.forName("org.sqlite.JDBC");

    Connection connection = null;
    try{
        connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
        System.out.println("I got connection.");
    }catch(SQLException e){
        System.out.println(e.getMessage());
    }
  }
}

我看到有使用绝对路径的示例,但是我想知道在使用相对路径时将数据库文件放在哪里。

另外,如果我将类放在某个包中,文件位置会有所不同吗?

【问题讨论】:

  • 为什么我投了反对票?

标签: java eclipse sqlite jdbc


【解决方案1】:

默认情况下,db文件将在项目目录的根目录下创建。

您可以与 sql lite 一起使用的其他路径格式有:

jdbc:sqlite://dirA/dirB/dbfile
jdbc:sqlite:/DRIVE:/dirA/dirB/dbfile
jdbc:sqlite:///COMPUTERNAME/shareA/dirB/dbfile

【讨论】:

    【解决方案2】:

    SQLite 支持内存数据库管理,它不会创建任何数据库文件。要在 Java 代码中使用内存数据库,请按如下方式获取数据库连接:

    Connection connection = DriverManager.getConnection("jdbc:sqlite::memory:");
    

    如果你想要物理 SQLite 数据库,你需要使用 SQLite managerMozilla 或 chrome 附加插件创建 SQLite 数据库。并给出这样的路径

    Windows

    Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/work/mydatabase.db");
    

    Linux、Mac OS X

    Connection connection = DriverManager.getConnection("jdbc:sqlite:/home/leo/work/mydatabase.db");
    

    【讨论】:

      猜你喜欢
      • 2020-12-07
      • 2011-07-02
      • 2023-02-01
      • 2012-05-14
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 2019-03-20
      • 2016-01-10
      相关资源
      最近更新 更多