**
* 1.引入greenDAO 的gradle文件和module的gradle文件一共修改四个地方
* 2。在module的gradle文件中高配置数据库版本号。增加代码的位置等参数
* 3。创建实体类
* 4。增删该查
*/
快速开发时候使用 数据库 快捷管理 管理框架
1.project.gradle文件中
加上 配置使用 mavenCentral库下载 依赖包
allprojects {
标签下
allprojects{
…...
buildscript { repositories { mavenCentral() } }
}
buildscript{
标签下
buildscript{
...
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
}
}
2.Module.gradle文件中
头部配置。作用 :之前一步配置 工程文件下
classpath
'org.greenrobot:greendao-gradle-plugin:3.2.1’ 是每个module都使用 但是使用之前要关联 就需要下面一句话
apply plugin: 'org.greenrobot.greendao'依赖注入
dependencies {
compile 'org.greenrobot:greendao:3.2.0'
}
3.Module.gradle文件中
增加配置 greenDAO配置 信息
android {
标签下 增加
greendao{ //数据库版本号 schemaVersion 1 //创建的目录 targetGenDir 'src/main/java' //关于数据库类创建的目录 自动生成实体类的时候使用 daoPackage 'com.dream.will.a9_3greendao.db' }注意注意⚠️ 需要更新版本的时候 只需要 修改响应的 bean 属性 和这里的版本号
4.创建实体类
只需要写下面的属性 不用写get set方法
会自动生成
//注解的方式标志 它是实体类 @Entity public class UserBean { @Id //指明id private Long id; @Property //属性字段 private String username; @Property(nameInDb = "passwd”) //可以修改字段名称 private String password;
写好上面参数后 构建工程(点几builder)会生成
get set方法 和 hash值
另外 工程目录下也会生成一个包 第三步的 时候配置的
下面会生成三个类 来操作数据库
5.使用
首先 获取操作包的实例
//获取DevOpenHelper 它继承 SQLiteOpenHelper DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(this, "my.db"); //获取读写数据库 需要注意的是 Database db = devOpenHelper.getWritableDb(); //获取 数据库session DaoSession daoSession = new DaoMaster(db).newSession(); //获取操作UserBean 的类 userBeanDao = daoSession.getUserBeanDao();需要注意的是
在获取操作数据库的时候 不要 使用到SQLite中 读写方法 否则 就使用不到 greenDAO的方法了
增
userBeanDao.save(new UserBean(null, "张三", "123"+i));查
List<UserBean> list = userBeanDao.queryBuilder() .where(UserBeanDao.Properties.Username.eq("张三”)) // .list();删
List<UserBean> list = userBeanDao.queryBuilder().where(UserBeanDao.Properties.Password.eq("1231")).list(); for (UserBean userBean : list) { userBeanDao.delete(userBean); }改
List<UserBean> list = userBeanDao.queryBuilder().where(UserBeanDao.Properties.Username.eq("张三")).list(); for (UserBean userBean : list) { userBean.setUsername("李四"); userBeanDao.update(userBean); }
另外还有重载方法