首页 > 学院 > 开发设计 > 正文

GreenDao3.2.0的配置和简单使用

2019-11-09 16:05:38
字体:
来源:转载
供稿:网友

配置

前阵子操作数据库使用了GreenDao,写这篇的时候也拖了好一段时间,迟迟没有分享出来,下面就自带板凳开始GreenDao的配置和基本使用 - 在as中导入相关的包

在app的gradle文件中配置apply plugin: 'org.greenrobot.greendao'buildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1' }}greendao { schemaVersion 1 daoPackage 'com.huang.greendaodemo.gen' targetGenDir 'src/main/java'}12345678910111213141234567891011121314

schemaVersion :数据库schema版本号,迁移数据、升级数据库等操作会用到 daoPackage:由GreenDao自动生成代码所在的包名 targetGenDir:设置自动生成代码的目录

在项目中定义一个实体类

@Entity :定义实体类,默认类名即为表名(这里为user) @Id :标明主键,括号里可以指定是否自增(注意:要注解为@Id的字段最 好用Long型,笔者当初使用long出现问题,排查将近半盏茶时间) @NotNull : 不为null @Unique :唯一约束 @ToMany : 一对多 @OrderBy : 排序 @ToOne : 一对一 @Transient :不会创建到数据库表里

MakePRoject

编译项目,User实体类会自动编译,之后会在gen目录下生成这三个文件

使用

GreenDao使用,首先是实例化GreenDao所需要的几个对象,相关代码如下:public class Baseapplication extends Application{ private SQLiteDatabase db; private DaoMaster mDaoMaster; private Daosession mDaoSession; public static BaseApplication instances; @Override public void onCreate() { super.onCreate(); instances = this; init(); } public static BaseApplication getInstances() { return instances; } public void init() { //数据库的配置 DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(instances, "note_db", null); db = devOpenHelper.getWritableDatabase(); mDaoMaster = new DaoMaster(db); mDaoSession = mDaoMaster.newSession(); } public DaoSession getDaoSession() { return mDaoSession; } public SQLiteDatabase getDb() { return db; }}12345678910111213141516171819202122232425262728293031321234567891011121314151617181920212223242526272829303132

这里别忘了添加到AndroidManifest.xml里面

获取UserDao对象

private DaoSession mDaoSession;private UserDao mUserDao;mDaoSession = BaseApplication.getInstances().getDaoSession();mUserDao = mDaoSession.getUserDao();12341234
1、增
User mUser = new User();mUser.setName("hello");mUser.setText("world");mUserDao.insert(mUser);12341234
2、删
mUserDao.deleteByKey(id);11
3、改
//注意是参数LongUser mUser = new User(1l,"hello","world");mUserDao.update(mUser);123123
4、查
List<User> users = mUserDao.loadAll();11

项目demo地址:https://github.com/zlhuang/greenDaoDemo 最后,希望这篇文章可以帮助到您,本文有任何问题欢迎指正。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表