






















com.healthmarketscience.jackcess 是一个用于在 Java 应用程序中读取和写入 Microsoft Access 数据库(包括 .mdb 和 .accdb 格式)的开源库。它不依赖于 Microsoft Office 或任何本地驱动程序,提供纯 Java 实现,便于集成到跨平台应用中。
主要功能与特性
核心类与使用示例
DatabaseBuilder 打开或创建数据库文件:import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import java.io.File;
try (Database db = DatabaseBuilder.open(new File("path/to/your/database.accdb"))) {
// 数据库操作在此处进行
} catch (IOException e) {
e.printStackTrace();
}
Table 对象遍历记录:import com.healthmarketscience.jackcess.Table;
import com.healthmarketscience.jackcess.Row;
Table table = db.getTable("TableName");
for (Row row : table) {
System.out.println("ID: " + row.get("ID") + ", Name: " + row.get("Name"));
}
Object[] rowData = {1, "Alice", 25};
table.addRow(rowData);
ColumnBuilder 定义字段结构:import com.healthmarketscience.jackcess.ColumnBuilder;
import com.healthmarketscience.jackcess.SqlType;
Table newTable = db.createTable("NewTable",
ColumnBuilder.UUID("id"),
ColumnBuilder.text("name", 255),
ColumnBuilder.number("age", SqlType.INTEGER)
);
SimpleExportFilter 实现列筛选:import com.healthmarketscience.jackcess.Column;
import com.healthmarketscience.jackcess.util.ExportFilter;
import com.healthmarketscience.jackcess.util.ExportUtil;
import java.util.ArrayList;
import java.util.List;
ExportFilter filter = new ExportFilter() {
private List<Column> cols = new ArrayList<>();
private int idx = 0;
@Override
public List<Column> filterColumns(List<Column> columns) {
for (Column col : columns) {
if (idx++ < 3) cols.add(col); // 只导出前3列
}
return cols;
}
};
ExportUtil.exportFile(db, "TableName", new File("output.csv"), true, ",", filter);
Maven 依赖配置
在 pom.xml 中添加以下依赖(推荐使用最新稳定版,如 3.0.1):
<dependency>
<groupId>com.healthmarketscience.jackcess</groupId>
<artifactId>jackcess</artifactId>
<version>3.0.1</version>
</dependency>
注意:部分旧版本可能依赖
commons-lang,而新版本(如 3.x)已迁移到commons-lang3,请确保依赖兼容性。
注意事项
jackcess-encrypt 依赖。该库是 Java 开发中处理 Access 数据库的主流选择,尤其适用于需要在无 Office 环境下进行数据迁移、ETL 或系统集成的场景。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。