将SQLite db文件放在JAVA项目中的位置在哪里?

时间:2015-02-24 10:02:59

标签: java eclipse sqlite jdbc

我在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());
    }
  }
}

我看到有使用绝对路径的示例,但我想知道在使用相对路径时将DB文件放在何处。

另外,如果我把Class放在某个包中,文件位置会不同吗?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:-1)

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

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

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

<强>窗

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");