{"id":18869183,"url":"https://github.com/sandlz/androidorm","last_synced_at":"2026-04-26T22:31:08.661Z","repository":{"id":91133321,"uuid":"77205946","full_name":"sandlz/AndroidOrm","owner":"sandlz","description":"sqlite orm.","archived":false,"fork":false,"pushed_at":"2017-01-02T13:29:39.000Z","size":152,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-30T23:32:20.952Z","etag":null,"topics":["android","dao","sqlite-orm"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandlz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-23T07:09:34.000Z","updated_at":"2017-03-27T08:37:40.000Z","dependencies_parsed_at":"2023-07-23T23:01:00.084Z","dependency_job_id":null,"html_url":"https://github.com/sandlz/AndroidOrm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandlz%2FAndroidOrm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandlz%2FAndroidOrm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandlz%2FAndroidOrm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandlz%2FAndroidOrm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandlz","download_url":"https://codeload.github.com/sandlz/AndroidOrm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239816510,"owners_count":19701753,"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":["android","dao","sqlite-orm"],"created_at":"2024-11-08T05:16:05.453Z","updated_at":"2026-02-14T04:30:16.253Z","avatar_url":"https://github.com/sandlz.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AndroidOrm\n[![Chrome Web Store](https://img.shields.io/chrome-web-store/stars/nimelepbpejjlbmoobocpfnjhihnpked.svg)]()\n[![License](http://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](http://www.apache.org/licenses/LICENSE-2.0)\n[![API](https://img.shields.io/badge/API-15%2B-blue.svg?style=flat-square)](https://developer.android.com/about/versions/android-4.2.html)\n\nsqlite orm.\nIt'refer to swyouflf's xutils, thank swyouflf's offertory.\n\n\n## ScreenShot\n\n\u003cdiv\u003e    \n\u003cimg align=\"left\" src=\"http://7xsap2.com1.z0.glb.clouddn.com/dblite_add.png\" width = \"423\" height = \"702\" /\u003e\n\u003cimg align=\"right\" src=\"http://7xsap2.com1.z0.glb.clouddn.com/dblite_delete.png\" width = \"423\" height = \"702\" /\u003e\n\u003c/div\u003e\n\u003cdiv\u003e    \n\u003cimg align=\"left\" src=\"http://7xsap2.com1.z0.glb.clouddn.com/dblite_update.png\" width = \"423\" height = \"702\"  /\u003e\n\u003cimg align=\"right\" src=\"http://7xsap2.com1.z0.glb.clouddn.com/dblite_query.png\" width = \"423\" height = \"702\" /\u003e\n\u003c/div\u003e\n\n## 配置\n\n### Gradle\n\n```\ncompile 'me.sandlz:dblite:1.0.2'\n```\n\n### Application\n在自定义Application里调用\n\n```\n// 初始化数据库\nDbLite.init(this,false);\n```\n\n### 创建DBHelper类\n\n```\n/**\n * 获取db的实例\n * @return\n */\npublic static DBHelper2 getInstance() {\n    if(appContext==null){\n       throw new RuntimeException(\"请先在程序入口处初始化，调用init(ApplicationContext)\");\n    }\n    if (instance == null) {\n        instance = new DBHelper2();\n        File dbFile=new File(\"/sdcard/sandlz\");\n        if(!dbFile.exists()){\n            dbFile.mkdirs();\n        }\n    DbManager.DaoConfig daoConfig = new DbManager.DaoConfig()\n                .setDbName(\"test.sqlite.db\")\n                // 不设置dbDir时, 默认存储在app的私有目录.\n                .setDbDir(new File(\"/sdcard/sandlz\"))\n                .setDbVersion(1)\n                .setDbOpenListener(new DbManager.DbOpenListener() {\n                    @Override\n                    public void onDbOpened(DbManager db) {\n                        // 开启WAL, 对写入加速提升巨大\n                        db.getDatabase().enableWriteAheadLogging();\n                    }\n                })\n                .setDbUpgradeListener(new DbManager.DbUpgradeListener() {\n                    @Override\n                    public void onUpgrade(DbManager db, int oldVersion, int newVersion) {\n                        // TODO: 可执行一些操作 如删除、更新表等\n                        // db.addColumn(...);\n                        // db.dropTable(...);\n                        // ...\n                        // or\n                        // db.dropDb();\n                    }\n                });\n        try {\n            instance.db = DbLite.getDb(daoConfig);\n        }catch (Exception e){\n            e.printStackTrace();\n        }\n    }\n    return instance;\n}\n```\n\n\n在合适的地方调用\n\n```\n// this这里是在Application\nDBHelper2.init(this);\n```\n\n## 使用\n\n新增Dao操作类，对外提供增删改查方法，具体可根据需求修改，选择效率最高的方式(请在子线程调用dao方法，防止阻塞主线程，影响用户体验！！！)\n\n最好设置主键，提高操作效率.\n\n### 基础\n\n#### 增\n\n```\npublic void addUser(User user) {\n        if (null == user) {\n            return;\n        }\n        try {\n            DBHelper2.getInstance().getDb().saveOrUpdate(user);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n    }\n    \n    public void addUser(List\u003cUser\u003e users) {\n        if (null == users) {\n            return;\n        }\n        try {\n            DBHelper2.getInstance().getDb().saveOrUpdate(users);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n    }\n    \n```\n\n#### 删\n\n```\npublic void deleteUser(User user) {\n        if (null == user) {\n            return;\n        }\n        try {\n            DBHelper2.getInstance().getDb().delete(user);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n\n    }\n\n    public void deleteUser(List\u003cUser\u003e users) {\n        if (null == users) {\n            return;\n        }\n        try {\n            DBHelper2.getInstance().getDb().delete(users);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n    }\n    \n    public void deleteAllUser() {\n        try {\n            DBHelper2.getInstance().getDb().delete(User.class);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n    }\n    \n```\n#### 改\n\n```\npublic void updateUser(User user) {\n        if (null == user) {\n            return;\n        }\n        try {\n            DBHelper2.getInstance().getDb().update(user);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n\n    }\n\n    public void updateUser(List\u003cUser\u003e users) {\n        if (null == users) {\n            return;\n        }\n        try {\n            DBHelper2.getInstance().getDb().update(users);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n    }\n    \n```\n#### 查\n\n```\npublic User queryUser(String userId) {\n        if (null == userId) {\n            return null;\n        }\n        User user = null;\n        try {\n            List\u003cUser\u003e users = DBHelper2.getInstance().getDb()\n                    .selector(User.class)\n                    .where(\"userId\",\"=\",userId)\n                    .findAll();\n            if (null != users \u0026\u0026 users.size() \u003e 0) {\n                user = users.get(0);\n            }\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n        return user;\n    }\n\n    public List\u003cUser\u003e queryAllUsers() {\n        List\u003cUser\u003e users = null;\n        try {\n            users = DBHelper2.getInstance().getDb().findAll(User.class);\n        } catch (DbException e) {\n            e.printStackTrace();\n        }\n        return users;\n    }\n    \n```\n\n### 高级\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandlz%2Fandroidorm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandlz%2Fandroidorm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandlz%2Fandroidorm/lists"}