GreenDao使用详解
2016-12-19 19:56
295 查看
1.导入GreenDAO
1>Project-->build.gradle
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
// 这是需要配置的地方
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'//GreenDao
}2>Module-->build.gradle
2.实体类
注意:实体类中不能有内部类
添加@Id(autoIncrement=true)否则:
android.database.sqlite.SQLiteConstraintException: PRIMARY KEY must be unique (code 19)
3.增删改查
第一种:使用SqliteOpenHelper对象去操作
或是使用DaoSession获取xxxDao对象间接进行CRUD
增:
查:
1>Project-->build.gradle
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
// 这是需要配置的地方
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'//GreenDao
}2>Module-->build.gradle
apply plugin: 'com.android.application' // 这是需要配置的地方---1 apply plugin: 'org.greenrobot.greendao'//GreenDao android { compileSdkVersion 23 buildToolsVersion "23.0.3" ... } // 需要配置的地方-----2 greendao { schemaVersion 1 // 当前数据库结构的版本 //daoPackage 'com.greendao.gen' // 生成的DAO,DaoMaster和DaoSession的包名。默认是实体的包名。 //targetGenDir 'src/main/java' //生成源文件的路径。默认源文件目录是在build目录中的(build/generated/source/greendao)。 // targetGenDirTest //生成的单元测试的根目录。 } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' // 需要配置的地方 -----3 GreenDao compile 'org.greenrobot:greendao:3.2.0'//GreenDao compile'org.greenrobot:greendao-generator:3.0.0' }配置完成后,同步工程
2.实体类
@Entity public class School { @Id private Long id; private String name; }完成后,build--make project
注意:实体类中不能有内部类
添加@Id(autoIncrement=true)否则:
android.database.sqlite.SQLiteConstraintException: PRIMARY KEY must be unique (code 19)
3.增删改查
第一种:使用SqliteOpenHelper对象去操作
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "mydb", null); SQLiteDatabase db = helper.getWritableDatabase();第二种:使用DaoSession 直接根据对象进行CRUD
或是使用DaoSession获取xxxDao对象间接进行CRUD
增:
school = new School(); session.insert(school);
school = new School(); session.getSchoolDao().insert(school);删:
school = new School(); session.delete(school);
school = new School(); session.getSchoolDao().delete(school);改:
school = new School(); session.getSchoolDao().save(school);
school = new School(); session.update(school);
查:
// 条件查询 List<School> schools = session.queryRaw(School.class, "where name = ?", new String[]{"fy"}); for (int i = 0; i < schools.size(); i++) { System.out.println("查询出来数据" + schools.get(i).getName()); } // 查询所有 List<School> school = session.loadAll(School.class); String schoolName = ""; for (int i = 0; i < school.size(); i++) { schoolName += school.get(i).getName() + ","; System.out.println("查询出来数据" + schoolName); }
// 条件查询 List<School> schools = session.getSchoolDao().queryBuilder().limite(10).offset(5).list(); for (int i = 0; i < schools.size(); i++) { System.out.println("查询出来数据" + schools.get(i).getName()); } // 查询所有 List<School> school = session.getSchoolDao().queryBuilder().build(); String schoolName = ""; for (int i = 0; i < school.size(); i++) { schoolName += school.get(i).getName() + ","; System.out.println("查询出来数据" + schoolName); }
相关文章推荐
- GreenDao3.0使用详解
- Android GreenDao3.2配置及使用详解
- Android GreenDao3.2配置及使用详解
- Android 中数据库框架GreenDao与LitePal对比、集成、使用详解,greendao与原生SQLite性能对比
- GreenDao3.1详解及使用
- greenDAO的使用详解---(1)greenDAO的配置和增删改查
- GreenDao3.2使用详解(增,删,改,查,升级)
- GreenDao3.0框架使用详解
- greenDAO的使用详解---(2)greenDAO3.2.2数据库的升级
- GreenDao3.0使用详解
- greenDAO的使用详解---(3)greenDAO3.2.2数据库的升级bug解决
- Android GreenDao3.2配置及使用详解
- GreenDao 3.0使用详解
- greenDAO的使用详解---(4)greenDAO3.2.2结合sqlcipher加密数据库
- GreenDao使用和升级详解
- greenDAO的使用详解---(5)greenDAO高级用法
- GreenDao3.0使用详解
- 正则表达式使用详解
- CheckStyle使用详解
- showModalDialog()、showModelessDialog()方法使用详解