GreenDao高级用法

GreenDao高级用法:

1.类内部有List

2.类内部有类

3.类内部有List<类>

1.类内部有List

复制该类到项目内

import org.greenrobot.greendao.converter.PropertyConverter;

import java.util.Arrays;
import java.util.List;

public class StringConverter implements PropertyConverter<List<String>, String>{

    @Override
    public List<String> convertToEntityProperty(String databaseValue) {
        if (databaseValue == null) {
            return null;
        }
        else {
            List<String> list = Arrays.asList(databaseValue.split(","));
            return list;
        }
    }

    @Override
    public String convertToDatabaseValue(List<String> entityProperty) {
        if(entityProperty==null){
            return null;
        }
        else{
            StringBuilder sb= new StringBuilder();
            for(String link:entityProperty){
                sb.append(link);
                sb.append(",");
            }
            return sb.toString();
        }
    }
}

定义处这样写

@Convert(columnType = String.class, converter = StringConverter.class)
public List<String> list;

存储数据时请自己调用setXxx()方法

获取数据时请调用getXxx()方法,方法内会自动去查询数据

2.类内部有类

定义一个Id(名字随意起,不冲突就行)

public Long authorId;

定义处这样写(注意此类不要写成内部类,会执行失败,应该放在一个单独的文件中,也需要Id和@Entity标识)

@ToOne(joinProperty = "authorId")
public AuthorBean author;

存储数据时请自己调用setXxx()方法

获取数据时请调用getXxx()方法,方法内会自动去查询数据

3.类内部有List<类>

在内部类的内部定义一个Id(不要写成内部类)

public Long chapterId;

定义处这样写

@ToMany(referencedJoinProperty = "chapterId")
public List<ChapterBean> chapter;

存储数据时,需要遍历'chapter'集合,并给每一个子元素的chapterId设置为外部类的主键id,然后通过.chapterBeanDao.insert(chapterBean)来添加到数据库中

获取数据时请调用getXxx()方法,方法内会自动去查询数据

对Kotlin或KMP感兴趣的同学可以进Q群 101786950

如果这篇文章对您有帮助的话

可以扫码请我喝瓶饮料或咖啡(如果对什么比较感兴趣可以在备注里写出来)

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值