Berkeley DB Reference Version 5.3.35

Getting Started with Berkeley DB

Language: C · C++ · Java (this page)

Legal Notice

This documentation is distributed under an open source license. You may review the terms of this license at: http://www.oracle.com/technetwork/database/berkeleydb/downloads/oslicense-093458.html

Oracle, Berkeley DB, and Sleepycat are trademarks or registered trademarks of Oracle. All rights to these marks are reserved. No third-party use is permitted without the express prior written consent of Oracle.

Java™ and all Java-based marks are a trademark or registered trademark of Sun Microsystems, Inc, in the United States and other countries.

Other names may be trademarks of their respective owners.

To obtain a copy of this document's original source code, please submit a request to the Oracle Technology Network forum at: http://forums.oracle.com/forums/forum.jspa?forumID=271

9/9/2013


Table of Contents

Preface

Conventions Used in this Book

For More Information

Contact Us

1. Introduction to Berkeley DB

About This Manual

Berkeley DB Concepts

Environments

Key-Data Pairs

Storing Data

Duplicate Data

Replacing and Deleting Entries

Secondary Keys

Which API Should You Use?

Access Methods

Selecting Access Methods

Choosing between BTree and Hash

Choosing between Queue and Recno

Database Limits and Portability

Exception Handling

Error Returns

Getting and Using DB

2. Database Environments

Opening Database Environments

Closing Database Environments

Environment Properties

The EnvironmentConfig Class

EnvironmentMutableConfig

I. Programming with the Direct Persistence Layer

3. Direct Persistence Layer First Steps

Entity Stores

Opening and Closing Environments and Stores

Persistent Objects

Saving and Retrieving Data

4. Working with Indices

Accessing Indexes

Accessing Primary Indices

Accessing Secondary Indices

Creating Indexes

Declaring a Primary Indexes

Declaring Secondary Indexes

Foreign Key Constraints

5. Saving and Retrieving Objects

A Simple Entity Class

SimpleDA.class

Placing Objects in an Entity Store

Retrieving Objects from an Entity Store

Retrieving Multiple Objects

Cursor Initialization

Working with Duplicate Keys

Key Ranges

Join Cursors

Deleting Entity Objects

Replacing Entity Objects

6. A DPL Example

Vendor.java

Inventory.java

MyDbEnv

DataAccessor.java

ExampleDatabasePut.java

ExampleInventoryRead.java

II. Programming with the Base API

7. Databases

Opening Databases

Closing Databases

Database Properties

Administrative Methods

Error Reporting Functions

Managing Databases in Environments

Database Example

8. Database Records

Using Database Records

Reading and Writing Database Records

Writing Records to the Database

Getting Records from the Database

Deleting Records

Data Persistence

Using the BIND APIs

Numerical and String Objects

Serializable Complex Objects

Custom Tuple Bindings

Database Usage Example

9. Using Cursors

Opening and Closing Cursors

Getting Records Using the Cursor

Searching for Records

Working with Duplicate Records

Putting Records Using Cursors

Deleting Records Using Cursors

Replacing Records Using Cursors

Cursor Example

10. Secondary Databases

Opening and Closing Secondary Databases

Implementing Key Creators

Working with Multiple Keys

Secondary Database Properties

Reading Secondary Databases

Deleting Secondary Database Records

Using Secondary Cursors

Database Joins

Using Join Cursors

JoinCursor Properties

Secondary Database Example

Opening Secondary Databases with MyDbs

Using Secondary Databases with ExampleDatabaseRead

11. Database Configuration

Setting the Page Size

Overflow Pages

Locking

IO Efficiency

Page Sizing Advice

Selecting the Cache Size

BTree Configuration

Allowing Duplicate Records

Setting Comparison Functions

List of Examples

7.1. MyDbs Class

8.1. Inventory.java

8.2. Vendor.java

8.3. InventoryBinding.java

8.4. Stored Class Catalog Management with MyDbs

8.5. ExampleDatabaseLoad.java

9.1. ExampleDatabaseRead.java

10.1. ItemNameKeyCreator.java

10.2. SecondaryDatabase Management with MyDbs

10.3. SecondaryDatabase usage with ExampleDatabaseRead

>