{"id":13710229,"url":"https://github.com/litesuits/android-lite-orm","last_synced_at":"2025-04-09T07:06:53.967Z","repository":{"id":14949391,"uuid":"17674040","full_name":"litesuits/android-lite-orm","owner":"litesuits","description":"LiteOrm is a fast, small, powerful ORM framework for Android. LiteOrm makes you do CRUD operarions on SQLite database with a sigle line of code efficiently.","archived":false,"fork":false,"pushed_at":"2020-08-07T02:05:01.000Z","size":2010,"stargazers_count":1488,"open_issues_count":51,"forks_count":362,"subscribers_count":77,"default_branch":"master","last_synced_at":"2025-04-02T04:08:30.741Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://litesuits.com?form=gorm","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"WeMobileDev/article","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/litesuits.png","metadata":{"files":{"readme":"README-cn.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-12T16:27:48.000Z","updated_at":"2025-03-10T02:55:10.000Z","dependencies_parsed_at":"2022-07-19T05:47:01.690Z","dependency_job_id":null,"html_url":"https://github.com/litesuits/android-lite-orm","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litesuits%2Fandroid-lite-orm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litesuits%2Fandroid-lite-orm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litesuits%2Fandroid-lite-orm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/litesuits%2Fandroid-lite-orm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/litesuits","download_url":"https://codeload.github.com/litesuits/android-lite-orm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994121,"owners_count":21030050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T23:00:53.346Z","updated_at":"2025-04-09T07:06:53.926Z","avatar_url":"https://github.com/litesuits.png","language":"Java","funding_links":[],"categories":["数据库开发","[Java](#java)","Java","Libs"],"sub_categories":["\u003cA NAME=\"Orm\"\u003e\u003c/A\u003eOrm"],"readme":"LiteOrm:Android SQLite框架库\n================\n换个语种，再来一次\n\nLiteOrm是一个速度快、小巧、强大的android ORM框架类库，让你一行代码实现数据库的增删改查操作，以及实体关系的持久化和自动映射。\n\n#### 目标：简单、强大、最有用的android ORM 框架库\n\n在采用反射、注解，各种自动化处理的情况下LiteOrm框架比系统的SQLiteDatabase#insert方法性能好接近一倍。【基于系统，超越系统】坚持专注第一、兼顾性能、易用、拓展性。\n\n10万条数插入对比系统API\n![10万条数插入对比系统API](http://litesuits.com/imgs/lite-vs-system.png)\n\n100 000条数据测试\n![100 000条数据测试](http://litesuits.com/imgs/lite-10w-test.png)\n\n使用案例1：http://blog.csdn.net/napoleonbai/article/details/41958725\n\n使用案例2：http://www.apkbus.com/ask/article/13859\n\n\n原则 ：\n---\n\n- 轻量、专注、性能优先、线程无关，专注数据及其关系存储和操作。\n- 无需工具辅助，不需要无参构造，不需要繁多注解，约定优于配置。\n- 使用极致简约，例如：db.save(u); db.query(U.class); db.deleteAll(U.class);\n\n\n特色 :\n---\n\n- 支持多库：每个数据库文件对应一个LiteOrm管理类实例。\n- SD卡存储：可以将DB文件放在你认为合理的位置。\n- 自动建表：开发者无需关心数据库以及表细节。\n- 关系存储和恢复：真正实现实体关系映射持久化以及恢复，只需在实体的关联属性上标出关系类型即可。\n- 独立和级联：可平滑切换，独立操作性能高，仅保存该对象数据；级联操作更强大，关联对象和关系一并保存。\n- 智能列探测：App升级或者Model改变，新加了属性字段，该字段将被探测到并加入数据库中，因此无需担心新字段不被存储。\n- 丰富API支持：save(replace), insert, update, delete, query, mapping, etc。\n- 自动识别类型：分别转化为以sqlite支持的TEXT, REAL, INTEGER, BLOB几种数据类型存储。\n- 自动构建对象，通过反射和探测构造函数参数等hack手法新建对象，大多情况下亦不需要无参构造函数。\n- 更新指定列，可灵活、强制、批量赋值，强制赋值将无视被操作对象的真实值。\n- 存储序列化字段：Date、ArrayList、Vector等各种容器智能保存及读取。\n- 约束性语法支持：NOT NULL, UNIQUE, DEFAULT, COLLATE, CHECK, PRIMARY KEY，支持冲突算法。\n- 灵活的查询和删除：columns, where, roder, limit, having group, etc。\n\n未来：\n---\n\n- 信息加密功能，防止破库后数据裸奔。\n- 数据校验功能，防止破库后数据篡改。\n\n\n##关于基础功能\n需求左右功能，需求是没有界限的，不可能完美满足所有需求，做框架就有取舍。\n\n当一个人为了挂壁画而去买电钻时，难道他买的不是墙上的洞吗？\n\n如果能提供打洞兼挂壁画的服务，不是更方便更让用户满意吗？\n\n回头再想一下用户买了电钻，仅为了挂壁画吗？还可能用来做更多的事。\n\n做框架时基础功能是要提供的，但也会提供一些更直接、更专项的接口来更便捷的让开发者完成任务。\n\n##关于设计理念\n\nLiteOrm 大多情况下不要求开发者为每个对象添加一个无参构造，这看起来傻傻的很多余。\n\nLiteOrm 主线思路是约定大于配置，所以你可以用极少的注解完成复杂数据的存储。\n\nLiteOrm 关注性能，代码每个模块我都有仔细琢磨，各个功能的实现绕过了android提供的直接接口而比较贴近底层的实现。\n\nLiteOrm 超级轻量、专注，你甚至看不到任何包括线程在内的其他功能存在，你根本不用担心增加你项目的负担，引入一个大包袱。\n\n简约的背后，往往是复杂。而这一切，就是为了还原面向对象本应有的体验，让增加的部分，并未增加。\n\n\n\n关于作者（About Author）\n-----\n我的博客 ：[http://vmatianyu.cn](http://vmatianyu.cn/)\n\n我的开源站点 ：[http://litesuits.com](http://litesuits.com/)\n\n点击加入QQ群: \n[42960650](http://jq.qq.com/?_wv=1027\u0026k=cxjcDa)\n\n[47357508](http://jq.qq.com/?_wv=1027\u0026k=Z7l0Av)\n\n我的论坛帖子\n-----\n[LiteHttp：简单智能的 android HTTP 框架库 (专注于网络)](http://blog.csdn.net/ko33600/article/details/49367409)\n\n\n我的博客帖子\n-----\n[关于java的线程并发和锁的总结](http://www.vmatianyu.cn/summary-of-the-java-thread-concurrency-and-locking.html)\n\n[android开发技术经验总结60条](http://www.vmatianyu.cn/summarization-of-technical-experience.html)\n\n[聚划算android客户端1期教训总结](http://www.vmatianyu.cn/poly-effective-client-1-issues-lessons.html)\n\n[移动互联网产品设计小结](http://www.vmatianyu.cn/summary-of-mobile-internet-product-design.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitesuits%2Fandroid-lite-orm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flitesuits%2Fandroid-lite-orm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flitesuits%2Fandroid-lite-orm/lists"}