# guolindev/litepal

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/guolindev-litepal).**

8,068 stars · 1,583 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/guolindev/LitePal
- awesome-repositories: https://awesome-repositories.com/repository/guolindev-litepal.md

## Topics

`android` `litepal` `sqlite3`

## Description

LitePal is an object-relational mapping library and SQLite database wrapper for Android applications. It replaces raw SQL queries with a fluent interface and object mapping to simplify local data persistence and database management.

The project provides a specialized system for automatically synchronizing database schemas based on model definitions to handle version updates. It also includes a storage solution for securing sensitive data through configurable field-level encryption.

The library covers broad data storage and synchronization capabilities, including atomic transaction support, multi-database management, and object-relational mapping operations for creating, reading, updating, and deleting records.

## Tags

### Data & Databases

- [Object-Relational Mapping](https://awesome-repositories.com/f/data-databases/object-relational-mapping.md) — Provides a full object-relational mapping system to create, read, update, and delete records via object mapping. ([source](https://github.com/guolindev/litepal#readme))
- [Schema Synchronization](https://awesome-repositories.com/f/data-databases/android-database-access-tools/schema-synchronization.md) — Manages and updates database table structures on Android to ensure consistency across app versions.
- [Fluent Query Builders](https://awesome-repositories.com/f/data-databases/fluent-query-builders.md) — Provides a fluent, chainable interface for constructing complex SQL queries without writing raw SQL.
- [Local Persistence Layers](https://awesome-repositories.com/f/data-databases/local-persistence-layers.md) — Provides a local persistence layer for saving application state and user data in file-based databases on Android.
- [Schema Synchronizers](https://awesome-repositories.com/f/data-databases/schema-synchronizers.md) — Automatically synchronizes database tables with model definitions to maintain structural consistency across versions. ([source](https://github.com/guolindev/litepal#readme))
- [Fluent Interfaces](https://awesome-repositories.com/f/data-databases/sql-query-interfaces/fluent-interfaces.md) — Offers a fluent query interface using method chaining to build complex database filters. ([source](https://github.com/guolindev/litepal#readme))
- [Database Wrappers](https://awesome-repositories.com/f/data-databases/sqlite-drivers/database-wrappers.md) — Wraps SQLite with a high-level interface that replaces raw SQL with fluent queries and object mapping.
- [Reflection-Based Mappings](https://awesome-repositories.com/f/data-databases/type-mapping-frameworks/script-to-native-type-mappings/entity-mappings/reflection-based-mappings.md) — Uses Java reflection to automatically map database cursor rows to strongly typed model objects.
- [Atomic Transactions](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/connection-transaction-management/atomic-transactions.md) — Implements atomic transactions to execute multiple data manipulation operations as a single consistent unit.

### Mobile Development

- [Android SQLite Management](https://awesome-repositories.com/f/mobile-development/android-sqlite-management.md) — Simplifies SQLite database management on Android through an object-oriented approach to storage and retrieval.

### Software Engineering & Architecture

- [Schema Mappings](https://awesome-repositories.com/f/software-engineering-architecture/annotation-based-metadata-mapping/schema-mappings.md) — Provides annotation-based mapping of Java object fields to SQLite table columns for automated schema creation.
- [Database Schema Migrations](https://awesome-repositories.com/f/software-engineering-architecture/data-migrators/database-schema-migrations.md) — Provides automated database schema migrations to handle version updates based on model definitions.

### Security & Cryptography

- [Field-Level Database Encryption](https://awesome-repositories.com/f/security-cryptography/encrypted-storage/field-level-database-encryption.md) — Secures sensitive data fields within an SQLite database through integrated field-level encryption.
- [Field Level Encryption](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/field-level-encryption.md) — Provides field-level encryption for specific database columns to protect sensitive user information locally. ([source](https://github.com/guolindev/litepal#readme))
