【GreenDao介绍】
官网文档:greendao-orm.com/
GreenDao:是数据库ORM(Object Relation Mapping)框架,(ORM框架:ORMLite、greendao、ormndroid、androrm、ActiveAndroid)
so easy!使用简单,效率很高,插入和更新的速度是sqlite的2倍,加载实体的速度是ormlite的4.5倍!文件较小(<100K),占用更少的内存 ,但是需要create Dao,操作实体灵活:支持get,update,delete等操作!
为什么这么快?
原因:基于generator而不是反射,所以提高了性能!
【GreenDao使用】
在官网(http://greendao-orm.com/download-and-source/)下载GreenDao和Green-generator这两个jar导入你的项目中!
package com.superloveboy.greendaotest;
import java.io.IOException;
import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema;
public class MyFirstGreenDao {
public static void main(String[] args) {
Schema schema = new Schema(1, "com.superloveboy.greendaodb"); //指定生成Java文件地址
addNote(schema);
try {
new DaoGenerator().generateAll(schema, "..");
} catch (Exception e) {
e.printStackTrace();
}
}
private static void addNote(Schema schema) {
Entity note = schema.addEntity("NOTE");
note.addIdProperty().autoincrement().primaryKey();//note表中添加主键自增Id
note.addStringProperty("packageName"); //字符串字段
note.addByteArrayProperty("apkInfo"); //ByteArray型字段
<pre name="code" class="java" style="color: rgb(0, 128, 0); font-size: 18px; line-height: 26px; text-indent: 28px;"> Entity note1 = schema.addEntity("NOTE1");<span style="font-family: Arial;"> </span>
note1.addIdProperty().autoincrement().primaryKey();
Property NoteId = note1.addLongProperty("note_id").getProperty();
note1.addToOne(note,NoteId); //一对一关系
//还有多对一、一对一,addToMany()等实现!
}}
自动生成note和note1的Java文件和dao文件!