objectbox基础


objectbox基础

参考链接

1. objectbox特性

  • 超快 objectbox优于测试过的所有嵌入式数据库
  • 面向对象的api 没有ORM,没有SQLite,简洁的api
  • 自动升级 可以直接在对象上进行删除修改等操作
    其它参考官网介绍

2.如何使用?

1.在项目build.gradle添加对应引用

buildscript {
    ext.objectboxVersion = '1.4.0'
    repositories {
        jcenter()
        maven { url "http://objectbox.net/beta-repo/" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
    }
}
allprojects {
    repositories {
        jcenter()
        maven { url "http://objectbox.net/beta-repo/" }
    }
}

2.在app的 build.gradle文件添加引用

apply plugin: 'com.android.application'
apply plugin: 'io.objectbox'
dependencies {
    compile "io.objectbox:objectbox-android:$objectboxVersion"
    annotationProcessor "io.objectbox:objectbox-processor:$objectboxVersion"
}

3.定义要保存在数据库中的对象

@Entity
public class Note {
    @Id
    long id;
    String text;
}

添加完成对象后,编译项目,会自动生成MyObjectBox对象

4.在Application中初始化MyObjectBox对象

private BoxStore boxStore;
  @Override
  public void onCreate() {
    super.onCreate();
    boxStore = MyObjectBox.builder().androidContext(App.this).build();
    Log.d("App", "Using ObjectBox " + BoxStore.getVersion() + " (" +                BoxStore.getVersionNative() + ")");
  }
  public BoxStore getBoxStore() {
    return boxStore;
  }

5.进行数据库的各种操作

private Box<Note> notesBox;
notesBox = ((App) getApplication()).getBoxStore().boxFor(Note.class);

Box提供了对数据进行增删改查的api
put:插入数据
get:查询数据
remove:删除数据
count:返回存贮得对象个数
query: 根据对应得条件查询
修改数据,先根据query查询到对应的对象,修改对应的属性值后,调用put方法插入到数据库

3.objectbox注解

注解 介绍
@Entity 表示一个对象
@Id 表示一个标示符,默认自动维护
@Transient 表示一个临时属性,不会存储在数据库
@Index 表示一个索引
@NameInDb 表示存储在数据库中的列名称


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM