# cube-orm **Repository Path**: SmartCloud/cube-orm ## Basic Information - **Project Name**: cube-orm - **Description**: Android轻量级ORM,简化数据库操作 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2015-05-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # cube-orm 此项目是为Android简单封装的SQLite数据库ORM, 实现基本的单表CRUD,提高数据库开发效率。 ## 使用方法 ### 约定: ###### 所有的实体都要继承IDColumn.java类 1. 表名称必须以小写字母开始,单词之间用“_”下划线分开(当然也可以全部小写不分开):
`如:table_name、table_xxx、xx_xx` 2. 表名称和实体类对应如下:
`表:table_name 对应的实体类:TableName` `类:TableName 对应表名:table_name` 3. 表字段和实体类字段对应如下:
`表字段:field_name 对应实体类字段:fieldName.` `实体类字段:fieldName 对应实体类字段:field_name.` 4. 主键在IDColumn类里:
`主键为long类型自增长, 名称为_primary_key_id` ### 使用方法 compile 'com.github.supersanders:cube-orm:2.0@aar' ##### 混淆配置 -keep public class * extends com.sanders.db.IDColumn ##### 自动升级数据库说明 如果使用自动升级,若表字段类型有变则会重新创建新表并备份旧表为 "表名_oldVersion",这需要手动将数据导入新表。 ##### 推荐 DBProxy db = new DBProxy.DBBuilder() .setDbName("db") .setDbVersion(1) .createTable(TableBean.class) .setOnDBUpgrade(new OnDBUpgrade() {//不设置此值则代表自动升级 @Override public boolean beginUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //开始升级数据库之前调用此方法 return super.beginUpgrade(db, oldVersion, newVersion); } @Override public boolean onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //数据库升级调用此方法 返回true是自己处理升级,false则自动升级 return super.onUpgrade(db, oldVersion, newVersion); } @Override public boolean endUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { //数据库升级结束调用此方法 return super.endUpgrade(db, oldVersion, newVersion); } }) .build(this); ##### 实现自己的SQLiteOpenHelper //使用此方式要按约定来 DBProxy db = new DBProxy(new SimpleOpenHelper(context));