Android数据库框架-GreenDao入门,2024年最新flutter 页面跳转动画

public void setAddress(String address) {

this.address = address;

}

@Override

public String toString() {

return “UserInfo{” +

“id=” + id +

“, userName='” + userName + ‘’’ +

“, phoneNumber='” + phoneNumber + ‘’’ +

“, address='” + address + ‘’’ +

‘}’;

}

}

2.2. 查看UserInfoDAO,DaoMaster及DaoSession

上述操作结束之后,在工程目录下,GreenDAO的生成目录中可以找到相应的数据库操作类,我实体类UserInfo的操作类名称为UserInfoDAO,同时也会自动生成DaoMaster和DaoSession

在这里插入图片描述

可以看到生成了三个文件,一个是实体类的操作类,还有DaoMaster,DaoSession等类。

我们先看看DaoMaster类,DaoMaster类主要定义了几个函数

(1)createAllTables、dropAllTables

/** Creates underlying database table using DAOs. */

public static void createAllTables(Database db, boolean ifNotExists) {

UserInfoDao.createTable(db, ifNotExists);

}

/** Drops underlying database table using DAOs. */

public static void dropAllTables(Database db, boolean ifExists) {

UserInfoDao.dropTable(db, ifExists);

}

这两个方法表明了DaoMaster的两个作用,创建和删除所有表。

(2)newSession

public DaoSession newSession() {

return new DaoSession(db, IdentityScopeType.Session, daoConfigMap);

}

public DaoSession newSession(IdentityScopeType type) {

return new DaoSession(db, type, daoConfigMap);

}

这两个类可以创建Session绘画,有两种重载形式,一种可以让我们自定义类型。

(3)构造函数

public DaoMaster(SQLiteDatabase db) {

this(new StandardDatabase(db));

}

public DaoMaster(Database db) {

super(db, SCHEMA_VERSION);

registerDaoClass(UserInfoDao.class);

}

两个重载形式,一个时生成一个数据库,另一个则是注册Config,查看一下registerDaoClass类则会发现,daoConfigMap是一个Map结构

protected final Map<Class<? extends AbstractDao<?, ?>>, DaoConfig> daoConfigMap;

protected void registerDaoClass(Class<? extends AbstractDao<?, ?>> daoClass) {

DaoConfig daoConfig = new DaoConfig(db, daoClass);

daoConfigMap.put(daoClass, daoConfig);

}

通过传进来的UserInfoDao.class作为key,对这个daoConfig进行绑定操作。

而进入到DaoConfig类中,查看DaoConfig的源码时,可以看到注释中的介绍

/**

  • Internal class used by greenDAO. DaoConfig stores essential

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值