objectbox基础
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 | 表示存储在数据库中的列名称 |
objectbox基础的更多相关文章
- java基础集合经典训练题
第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...
- node-webkit 环境搭建与基础demo
首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Golang, 以17个简短代码片段,切底弄懂 channel 基础
(原创出处为本博客:http://www.cnblogs.com/linguanh/) 前序: 因为打算自己搞个基于Golang的IM服务器,所以复习了下之前一直没怎么使用的协程.管道等高并发编程知识 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- HTTPS 互联网世界的安全基础
近一年公司在努力推进全站的 HTTPS 化,作为负责应用系统的我们,在配合这个趋势的过程中,顺便也就想去搞清楚 HTTP 后面的这个 S 到底是个什么含义?有什么作用?带来了哪些影响?毕竟以前也就只是 ...
- Swift与C#的基础语法比较
背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...
- .NetCore MVC中的路由(1)路由配置基础
.NetCore MVC中的路由(1)路由配置基础 0x00 路由在MVC中起到的作用 前段时间一直忙于别的事情,终于搞定了继续学习.NetCore.这次学习的主题是MVC中的路由.路由是所有MVC框 ...
- .NET基础拾遗(5)多线程开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理基础 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开 ...
随机推荐
- SVN命令使用详解【转】
本文转载自:http://blog.sina.com.cn/s/blog_963453200101eiuq.html 1.检出svn co http://路径(目录或文件的全路径) [本地目录全路 ...
- 应用程序启动器 “sublime_text.desktop“ 还没有被标记为 信任。如果您不知道这个文件的来源,那么启动它可能会不安全。解决sublime在ubuntu中不支持中文输入问题。
1.下载 git clone https://github.com/lyfeyaj/sublime-text-imfix.git 2.进行一些处理 cd ~/sublime-text-imfix su ...
- SPOJ:String Play (?)
String Play Milo has a string S of length L. Tutu picks a random prefix and Mota picks a random suff ...
- 【伪题解】 [Offer收割]编程练习赛58
[A:最大的K-偏差排列]: 第一次在hiho卡一题,所以暴力了搜索了一下,70分,后面回来打表找规律,规律是有和K有关的周期. 当K<=N/2时,成周期交叉变化,最后尾部部分单独考虑. 当K& ...
- HihoCoder1705: 座位问题(STL)
描述 HIHO银行等待区有一排N个座位,从左到右依次编号1~N.现在有M位顾客坐在座位上,其中第i位坐在编号Ai的座位上. 之后又陆续来了K位顾客,(K + M ≤ N) 他们都会选择坐在最" ...
- PostgreSQL 图形化客户端工具有哪些
linux下有字符界面的:psql 图形界面的:pgaccesswindows系统可以用:phpPgAdmin或者telnet+psql 和phpmyadmin 一家的phpPgAdm ...
- .NETFramework:Stream
ylbtech-.NETFramework:Stream 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, Publi ...
- vue 组件 props 和event
组件是可扩展的HTML元素,封装可重用的代码. 使用祖册的组件,要确保在初初始化根实例之前注册组件 注册的组件中,data必须是函数 父组件通过props向子组件传递数据,子组件通过事件events给 ...
- opencord视频截图
参考:https://www.youtube.com/watch?v=Teu9jK6GF6s
- linux中用无名管道进行文件的读写
1管道是什么: 水管子大家知道,有两端,在此一端用来读一端用来写,其中一端的输出作为另外一端的输入. 2 函数原型 int pipe(int pipefd[2]);//参数中分别代表的两端 3 例子: ...