greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases.
Java FreeMarker
Clone or download
Pull request Compare This branch is 286 commits behind greenrobot:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
DaoCore
DaoExample
DaoExampleGenerator
DaoGenerator
DaoTest
DaoTestBase
DaoTestGenerator
DaoTestPerformance
ci
gradle/wrapper
.gitignore
.travis.yml
CONTRIBUTING.md
README.md
build.gradle
gradlew
gradlew.bat
settings.gradle

README.md

greenDAO

greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.

Home page, documentation, and support links: http://greenrobot.org/greendao/

Build Status

Features

greenDAO's unique set of features:

  • Rock solid: greenDAO has been around since 2011 and is used by countless famous apps
  • Super simple: concise and straight-forward API
  • Small: The library is <100K and it's just plain Java jar (no CPU dependent native parts)
  • Fast: Probably the fastest ORM for Android, driven by intelligent code generation
  • Safe and expressive query API: QueryBuilder uses property constants to avoid typos
  • Powerful joins: query across entities and even chain joins for complex relations
  • Flexible property types: use custom classes or enums to represent data in your entity

Add greenDAO to your project

greenDAO is available on Maven Central. Please ensure that you are using the latest versions by checking here and here

Gradle dependency for your Android app:

    compile 'org.greenrobot:greendao:2.2.0'

Gradle dependency for your Java generator project:

    compile 'org.greenrobot:greendao-generator:2.2.0'

Note: to use encrypted databases using SQLCipher, you need to reference different artifacts (postfix '-encryption'). For all details, please refer to the documentation on database encryption.

Homepage, Documentation, Links

For more details on greenDAO please check greenDAO's website. Here are some direct links you may find useful:

Features

Documentation

Changelog

Technical FAQ

Non-Technical FAQ

Features in Beta

Those features are already here for you to try out. Note: Documentation and test coverage may be lacking, and the API may change in the future.

Asynchronous API

  • New AsyncSession (acquired from DaoSession.startAsyncSession()) provides most operations for DAOs, Queries, and transactions in a asynchronously variant
  • AsyncOperations are processed in order by a background thread
  • waitForCompletion methods for AsyncSession and AsyncOperations
  • AsyncOperationListener for asynchronous callback when operations complete
  • Asynchronous operations can be merged in single transactions (details follow)
  • Added raw SQL queries returning a Query object (LazyList support etc.)

More Open Source by greenrobot

EventBus is a central publish/subscribe bus for Android with optional delivery threads, priorities, and sticky events. A great tool to decouple components (e.g. Activities, Fragments, logic components) from each other.

Essentials is a set of utility classes and hash functions for Android & Java projects.

Follow us on Google+ to stay up to date.