GreenDao存集合

作者: Ad大成 | 来源:发表于2019-08-18 20:47 被阅读4次

如在实体类A中有一种List类型的数据也需要保存到数据库中,该如何处理呢??**

答案很简单,可以转换一下思路,首先考虑下如果是String类型的数据,首先遍历List数据,然后将所有的String对象都append到一个StringBuilder中,然后保存在数据库中即可。
事实上,GreenDao已经为我们考虑到了这种情况,因此才有了 PropertyConverter 这个接口

在PropertyConverter接口中,有两个需要实现的抽象方法

//将数据库中的值,转化为实体Bean类对象(比如List<String>)
P convertToEntityProperty(D databaseValue);

//将实体Bean类(比如List<String>)转化为数据库中的值(比如String)
D convertToDatabaseValue(P entityProperty);

数据库封装类里面这样写

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

意思是添加转化器,转换器的类是StringConverter,类型columnType
都是反射机制来获取 下面需要手写StringConverter类

泛型一是实体存入的集合字段
泛型二是在数据库中字段的类型是什么
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();
        }

    }

相关文章

  • GreenDao存集合

    如在实体类A中有一种List类型的数据也需要保存到数据库中,该如何处理呢??** 答案很简单,可以转换一下思路,首...

  • GreenDao 问题集合

    GreenDao 详解 GreenDao 简介 GreenDAO 是一款开源的面向 Android 的轻便、快捷的...

  • Android之greenDao使用

    Android之greenDao使用 一、greenDao简介 1. 什么是greenDao GreenDAO是一...

  • GreenDao快速入门使用

    GreenDao快速入门使用 greenDao简介 工具和版本 greenDao如何使用 1、把greenDao添...

  • GreenDao 3.2 入门配置以及简单使用

    相关资料 GreenDao 官网:http://greenrobot.org/greendao/GreenDao ...

  • JAVA之集合框架

    (1)List接口: ​ 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存...

  • greenDAO封装

    EasygreenDAO 基于greenDAO的上层调用封装。 greenDAO的集成 greenDAO的集成和说...

  • 第六篇学习笔记

    第六篇学习总结 一、Map集合 Map集合和Collection集合不一样,Map集合是双列集合,以键值对的形式存...

  • GreenDao3.0 源码分析-Dao层

    GreenDao3.0系列文章: GreenDao3.0源码分析-Helper GreenDao3.0 源码分析-...

  • GreenDao3.0源码分析-Helper

    GreenDao3.0系列文章: GreenDao3.0源码分析-Helper GreenDao3.0 源码分析-...

网友评论

    本文标题:GreenDao存集合

    本文链接:https://www.haomeiwen.com/subject/drydsctx.html