Java中基于文件的数据库

时间:2010-08-26 13:23:48

标签: java database

是否有任何库在java中创建使用文件作为数据库的程序,而您不必在要使用它的计算机上安装数据库服务?

9 个答案:

答案 0 :(得分:16)

H2怎么办?

  

H2是一个用Java编写的关系数据库管理系统。它可以嵌入Java应用程序中,也可以在客户端 - 服务器模式下运行。磁盘占用空间(jar文件的大小)约为1 MB。 (维基百科)

答案 1 :(得分:10)

Derby和Hypersonic SQL都可以在内存和服务器模式下运行。

答案 2 :(得分:6)

我们成功使用http://www.sqlite.org/http://www.zentus.com/sqlitejdbc/作为JDBC驱动程序。

答案 3 :(得分:5)

对于名为SqliteJDBC的SQLite数据库有一个非常好的java绑定:

http://www.zentus.com/sqlitejdbc/

答案 4 :(得分:3)

如果有人在寻找非常简单的基于文件的数据库,请尝试使用这个较旧的low-level database,这很容易理解。这是一个教程,但您可以下载完整的源代码here

基本上它使用简单的RandomAccessFile和标准的java序列化,因此您可以存储所有可序列化的内容,并且您不需要在对象中使用任何特殊配置或注释来使用它。不需要任何库。

答案 5 :(得分:3)

  

MapDB提供由磁盘存储或堆外内存支持的并发映射,集和队列。它是一种快速且易于使用的嵌入式Java数据库引擎。

https://github.com/jankotek/MapDB

http://www.mapdb.org/

答案 6 :(得分:2)

如上所述,Derby可以在嵌入模式下运行。它实际上包含在Java 6 SE中并且称为Java DB(尽管它实际上只是Apache Derby)。虽然默认的数据库工具(ij)不是很好,但它很容易使用。我会使用像SQuirreL SQL这样的东西来查看数据。

答案 7 :(得分:2)

除了已经提到的嵌入式关系数据库之外,还有非关系型嵌入式Java数据库,如exist(XML DB)或db4o(对象数据库)。

答案 8 :(得分:1)

例如HSQLDBApache Derby可以在嵌入模式下运行。