MapDB是一个纯Java编写的嵌入式数据库引擎,它的设计理念是"像使用Java集合一样使用数据库"。它能把数据存在内存里,也能持久化到磁盘上,而且使用起来特别简单,就跟操作HashMap似的!
首先,咱们需要在项目中添加MapDB依赖。如果你用Maven,在pom.xml中添加:xml
<dependency>
<groupId>org.mapdb</groupId>
<artifactId>mapdb</artifactId>
<version>3.0.8</version>
</dependency>
创建你的第一个MapDB数据库来看看怎么用MapDB存储数据:java
package com.example.demo.test;
import org.mapdb.DB;
import org.mapdb.DBMaker;
import java.util.concurrent.ConcurrentMap;
public class Mapdb {
public static void main(String[] args) {
//创建打开一个map集合
DB db = DBMaker.fileDB("test.db").make();
ConcurrentMap<String, String> map = (ConcurrentMap<String, String>) db.hashMap("mymap")
.createOrOpen();
map.put("name", "小米");
map.put("age", "18");
db.commit();
System.out.println("姓名:" + map.get("name"));
System.out.println("年龄:" + map.get("age"));
db.close();
}
}
首先我们用DBMaker创建了一个文件数据库,数据会存储在"mydb.db"文件中然后创建了一个Map集合,就像Java中的HashMap一样接着我们往Map里存了两条数据调用commit()提交更改到磁盘最后我们读取并打印数据,使用完记得关闭数据库
MapDB支持事务,可以保证数据的一致性可以设置数据压缩来节省存储空间支持并发访问,适合多线程环境数据可以存储在内存中,也可以持久化到磁盘