GreenDao

依赖

//根gradle
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
//app gradle
apply plugin: 'org.greenrobot.greendao'
greendao {
    schemaVersion 1 //数据库版本号
    daoPackage '包名.database' //设置时生成代码的目录
    targetGenDir 'src/main/java' //设置DaoMaster、DaoSession、Dao目录
}
dependencies {
   compile 'org.greenrobot:greendao:3.2.2'
}

用法:
类注解
@Entity(
        schema = "myschema",
        active = true,       
        nameInDb = "AWESOME_USERS",
        createInDb = true
)

@Entity:用于标识当前实体需要GreenDao生成代码。
schema:项目中存在多个Schema时,表明当前实体属于哪个Schema。
active:标记实体是否处于活动状态,活动状态才支持更新删除刷新等操作。
nameInDb:存储在数据库中的表名,不写默认与类名一致。
createInDb:标记创建数据库表,若有多个实体关联此表可设为false避免重复创建,默认为true。


属性注解
@Id :主键Long型,可以通过@Id(autoincrement = true)设置自增长。
@Property:设置一个非默认关系映射所对应的列名,默认是的使用字段名例如@Property (nameInDb="name")。
@NotNul:设置数据库表当前列不能为空。
@OrderBy:指定排序。
@Transient:添加此标记之后不会生成数据库表的列。
@Generated:为build之后GreenDao自动生成的注解,为防止重复,每一块代码生成后会加个hash作为标记。
  >: gt()
  <: lt()
  >=: ge()
  <=: le()
public class DaoManager {

    private final DaoSession daoSession;
    //提供一个本地的DaoManager
    private static DaoManager daoManager;

    //单例模式
    //首先私有化构造方法
    private DaoManager(Context context){
        daoSession = DaoMaster.newDevSession(context, "bw.db");
    }
    //提供公共的本地的静态方法
    public static DaoManager getinterface(Context context){
        //DCL模式
        if (daoManager==null){
            synchronized (DaoManager.class){
                if (daoManager==null){
                    daoManager = new DaoManager(context);
                }
            }
        }
        return daoManager;
    }
    //为其设置单利
    public DaoSession daoSession(){
        return daoSession;
    }
}
 //调用其方法
        daoSession = DaoManager.getinterface(this).daoSession();
        personDao = daoSession.getPersonDao();
//增加方法
 personDao.insert();

// 排序
对查询结果进行排序,有升序与降序。
List<**> list = **Dao.queryBuilder()
.where(***)
.orderAsc(**Dao.Properties.**)
.list();

//删除
.deleteAll()
.deleteBykey(Long key)
.delete(对象)
//修改
Person unique = personDao.queryBuilder()
                        .where(PersonDao.Properties.Id.eq(5))
                        .build().unique();
                unique.setName1("******"");
                personDao.update(unique);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要配置GreenDao,你需要按照以下步骤进行操作: 1. 在module级别的build.gradle文件中,将以下代码添加到文件的顶部: ``` apply plugin: 'org.greenrobot.greendao' ``` 2. 在同一个build.gradle文件中,添加以下配置到android模块下的greendao块中: ``` greendao { schemaVersion 1 // 设置数据库版本号,升级时可修改 daoPackage 'com.example.greendaodemo.db' // 设置生成的DAO、DaoMaster和DaoSession的包路径,默认与表实体所在的包路径相同 targetGenDir 'src/main/java' // 设置生成的源文件的路径,默认在build目录下的build/generated/source/greendao目录中 } ``` 3. 添加GreenDao的依赖库,将以下代码添加到dependencies块中: ``` implementation 'org.greenrobot:greendao:3.2.2' ``` 这样,你就完成了GreenDao的配置。如果需要生成GreenDao的代码,请确保你还添加了以下依赖库: ``` implementation 'org.greenrobot:greendao-generator:3.2.2' ``` 参考链接:<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [GreenDao的简单配置](https://blog.csdn.net/qq_42061290/article/details/82586342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [GreenDao配置](https://download.csdn.net/download/a511341250/9593713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [GreenDao配置文档](https://blog.csdn.net/chentaishan/article/details/105263937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值