Java 的Access 数据库操作库:Jackcess

jopen 10年前

Jackess是一个纯Java类库用于读写MS Access数据库。当前支持2000-2007版本。

  • 通过遍历一个表中的行:
    Table table = DatabaseBuilder.open(new File("my.mdb")).getTable("MyTable");  for(Row row : table) {    System.out.println("Column 'a' has value: " + row.get("a"));  }
  • Searching for a row with a specific column value:
    Row row = CursorBuilder.findRow(table, Collections.singletonMap("a", "foo"));  if(row != null) {    System.out.println("Found row where 'a' == 'foo': " + row);  } else {    System.out.println("Could not find row where 'a' == 'foo'");  }
  • 创建一个新的表,写数据到它:
    Database db = DatabaseBuilder.create(Database.FileFormat.V2000, new File("new.mdb"));  Table newTable = new TableBuilder("NewTable")    .addColumn(new ColumnBuilder("a")               .setSQLType(Types.INTEGER))    .addColumn(new ColumnBuilder("b")               .setSQLType(Types.VARCHAR))    .toTable(db);  newTable.addRow(1, "foo");
  • JDBC结果集(例如:从外部数据库)的内容复制到一个新表:
    Database db = DatabaseBuilder.open(new File("my.mdb"));  new ImportUtil.Builder(db, "Imported").importResultSet(resultSet);  db.close();
  • 将CSV文件的内容复制到一个新表:
    Database db = DatabaseBuilder.open(new File("my.mdb"));  new ImportUtil.Builder(db, "Imported2").setDelimiter(",").importFile(new File("my.csv"));  db.close();

项目主页:http://www.open-open.com/lib/view/home/1386046799705