greendao是greenrobot组织出品的一款操作android自带数据库sqlite的框架
使用环境:as版本3.12(低版本配置greendao方法有所不同)
1.配置
《module的gradle文件中》
添加插件
apply plugin: 'org.greenrobot.greendao'
android标签中设置greendao版本生成类位置等
greendao {
schemaVersion 1//数据库版本号
daoPackage 'com.xm2.d0627.greendao'//设置DaoMaster、DaoSession、Dao包名
targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录
//targetGenDirTest:设置生成单元测试目录
//generateTests:设置自动生成单元测试用例
}
添加依赖
implementation 'org.greenrobot:greendao:3.2.0'
《project的gradle文件中》
repositories标签中添加
repositories {
mavenCentral()
}
dependencies 中添加classpath
dependencies {
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1'
}
2.自定义所需bean类
@Entity
public class User {
@Id(autoincrement = true)
private Long id;
@NotNull
private String name;
@NotNull
private String pwd;
}
3.构建一下module(构建完成,如果指定位置生成DaoMaster、DaoSession、Dao三个类,代表配置greendao成功)
build-make module ......
4.application初始化数据库和表(根据我们创建的bean类生成数据库和表)
public class MApp extends Application {
public static DaoSession daoSession;
@Override
public void onCreate() {
super.onCreate();
DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(this, "shop");
Database db = openHelper.getWritableDb();
DaoMaster daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
}
}
5.使用时先获得dao对象
UserDao userDao = MApp.daoSession.getUserDao();
增
userDao.insert(user);
删
userDao.deleteByKey((long) 1);
改
userDao.update(new User((long) 2,"白玉京","8888"));
查
List<User> list = userDao.loadAll();
注:其它根据条件删改查的操作,greendao封装了对应了方法,可在网上自行查找