# longkidb **Repository Path**: longkicode/longkidb ## Basic Information - **Project Name**: longkidb - **Description**: LongkiDB 是一个轻量级嵌入式数据库系统,专为移动应用和资源受限环境设计,提供高性能、事务支持和跨平台兼容性。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-11-24 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: database-service **Tags**: None ## README # LongkiDB LongkiDB是一个基于Java 8和Android平台的轻量级数据库框架,以外部模块方式提供。 ## 项目结构 ``` longkiDB/ ├── app/ # 示例应用模块 │ └── src/main/java/com/longkidb/app/ # 应用代码 ├── longkidb/ # 核心数据库模块 │ └── src/main/java/com/longkidb/ # 数据库核心代码 ├── build.gradle # 项目级构建文件 ├── settings.gradle # 模块配置文件 └── gradle/ # Gradle包装器配置 ``` ## 核心类说明 1. **LongkiDB**:数据库主入口类,提供初始化、执行SQL和关闭等功能 2. **StorageEngine**:存储引擎,负责数据持久化 3. **SqlEngine**:SQL引擎,负责解析和执行SQL语句 4. **DbUtils**:数据库工具类,提供通用操作方法 5. **LongkiDBException**:自定义异常类 ## 使用方法 ### 1. 初始化数据库 ```java // 设置应用上下文 SqlEngine.LongkiDBContext.setApplicationContext(context); // 初始化数据库 LongkiDB longkiDB = LongkiDB.getInstance(context); longkiDB.initialize("your_database.db", 1); ``` ### 2. 执行SQL操作 ```java // 创建表 longkiDB.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)"); // 插入数据 longkiDB.execute("INSERT INTO users (name) VALUES ('John')"); // 查询数据 List> results = (List>) longkiDB.execute("SELECT * FROM users"); // 更新数据 longkiDB.execute("UPDATE users SET name = 'Jane' WHERE id = 1"); // 删除数据 longkiDB.execute("DELETE FROM users WHERE id = 1"); ``` ### 3. 使用事务 ```java DbUtils.transaction(context, db -> { db.execSQL("INSERT INTO users (name) VALUES ('Transaction User 1')"); db.execSQL("INSERT INTO users (name) VALUES ('Transaction User 2')"); }); ``` ### 4. 关闭数据库 ```java longkiDB.close(); ``` ## 依赖说明 - AndroidX AppCompat - SQLite(Android内置) ## 注意事项 1. 在使用前必须先设置应用上下文 2. 建议在Application的onCreate方法中初始化数据库 3. 在不需要使用时记得关闭数据库连接以释放资源 4. 所有数据库操作都应在合适的线程中执行,避免阻塞UI线程