参考网址:http://greenrobot.org/greendao/documentation/how-to-get-started/
github:https://github.com/greenrobot/greenDAO
http://www.tuicool.com/articles/63I3EfB
1.集成greendao:
根目录build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
}
}
app的build.gradle
apply plugin: 'org.greenrobot.greendao'
dependencies {
compile 'org.greenrobot:greendao:3.0.1'
}
配置自动生成dao路径
greendao {
schemaVersion 1
daoPackage 'com.swntek.czm.easycardbusiness.dao'//包路径
targetGenDir 'src/main/java' //生成目录路径
}
然后makeproject 就配置好了
2. 新建实体类
@Entity public class Student { @Id(autoincrement = true) private Long id; private String name; @Generated(hash = 1097502469) public Student(Long id, String name) { this.id = id; this.name = name; } @Generated(hash = 1556870573) public Student() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
编译后会在配置包下生成 对应3个文件
3.编写manager管理
public class StudentDbManager { private final static String dbName = "student_db"; private static StudentDbManager mInstance; private DaoMaster.DevOpenHelper openHelper; private DaoMaster daoMaster; private Context context; public StudentDbManager(Context context) { this.context = context; openHelper = new DaoMaster.DevOpenHelper(context, dbName, null); daoMaster = new DaoMaster(getWritableDatabase()); } public static StudentDbManager getInstance(Context context) { if (mInstance == null) { synchronized (StudentDbManager.class) { if (mInstance == null) { mInstance = new StudentDbManager(context); } } } return mInstance; } /** * 获取可读数据库 */ public SQLiteDatabase getReadableDatabase() { if (openHelper == null) { openHelper = new DaoMaster.DevOpenHelper(context, dbName, null); } SQLiteDatabase db = openHelper.getReadableDatabase(); return db; } /** * 获取可写数据库 */ public SQLiteDatabase getWritableDatabase() { if (openHelper == null) { openHelper = new DaoMaster.DevOpenHelper(context, dbName, null); } SQLiteDatabase db = openHelper.getWritableDatabase(); return db; } public StudentDao getDao(){ DaoSession daoSession = daoMaster.newSession(); StudentDao userDao = daoSession.getStudentDao(); return userDao; } /** * 插入一条记录 */ public void insertUser(Student student) { StudentDao dao=getDao(); dao.insert(student); } /** * 查询 */ public List<Student> query(){ QueryBuilder<Student> qb = getDao().queryBuilder(); List<Student> list = qb.list(); return list; } } ...方法
4.测试
public void testgreendaoinsert(){ Student student = new Student(); student.setName("aa"); StudentDbManager.getInstance(getApplicationContext()).insertUser(student); } public void testgreendaoquery(){ List<Student> students = StudentDbManager.getInstance(getApplicationContext()).query(); Log.e("tagg",students.size()+""); }