objectbox基础

本文介绍ObjectBox数据库的特点及使用方法,包括快速安装配置步骤、面向对象API设计、自动升级机制等,适合Android开发者快速上手。

objectbox基础

参考链接

  • 官网地址 http://objectbox.io
  • github地址 https://github.com/objectbox/objectbox-java
  • https://www.jianshu.com/p/24b7ffbbe383
  • demo下载 https://files.cnblogs.com/files/bruce2020/objectbox-example.zip

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表示存储在数据库中的列名称

转载于:https://www.cnblogs.com/bruce2020/p/8337310.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值