美文网首页
greendao存储嵌套数据(二)

greendao存储嵌套数据(二)

作者: 重新起步 | 来源:发表于2021-08-07 22:17 被阅读0次

    greendao存储嵌套数据(一)
    greendao存储嵌套数据(二)

    ABean中包含ListBBean

    @Entity
    public class ABean {
    
     private int first;
    
    
    @Convert(converter = ListBBeanConvert.class, columnType = String.class)
    private List bBeans;
    
    @Generated(hash = 1883429528)
     public ABean() {
    }
    
    @Generated(hash = 1721348249)
    public ABean(int first, List bBeans) {
    this.first = first;
     this.bBeans = bBeans;
    }
    
    public int getFirst() {
    return this.first;
     }
    
    public void setFirst(int first) {
    this.first = first;
    }
    
    public List getBBeans() {
    return this.bBeans;
     }
    
    public void setBBeans(List bBeans) {
     this.bBeans = bBeans;
     }
    }
    

    BBean显示如下:

    @Entity
    public class BBean {
    
     private int second;
    
    @Generated(hash = 244458771)
    public BBean() {
    }
    
    @Generated(hash = 410288234)
    public BBean(int second) {
    this.second = second;
     }
    
    public int getSecond() {
    return this.second;
    }
    
     public void setSecond(int second) {
     this.second = second;
    }
    }
    

    如何把List转换String?

    public class ListBBeanConvert implements PropertyConverter, String> {
    
     @Override
     public List convertToEntityProperty(String databaseValue) {
    TypeToken> typeToken = new TypeToken>(){};
    return JSONUtil.fromJson(databaseValue, typeToken.getType());
     }
    
    @Override
     public String convertToDatabaseValue(List entityProperty) {
     return JSONUtil.toJson(entityProperty);
    }
    }
    

    插入代码如下:

    List bBeans = new ArrayList<>();
    for (int i = 0; i < 5; i++) {
     BBean bBean = new BBean(i);
    bBeans.add(bBean);
    }
    
     ABean aBean = new ABean();
    aBean.setBBeans(bBeans);
    aBean.setFirst(1);
    
    DaoSession daoSession = CalendarSQLiteManager.getInstance().getDaoSession();
     daoSession.insert(aBean);
    

    数据库结果如下:


    相关文章

      网友评论

          本文标题:greendao存储嵌套数据(二)

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