首先创建数据库表的实体类
GreenDao 默认不⽀持集合对象Beans.所以需要转换为其他类型保存到数据库。
给字段添加@Convert注解,意味着,把该字段的数据转换为其他类型进⾏保存到数据库。
converter 转换器
columnType 数据库中保存的字段类型
@Entity(nameInDb = "ym_test")
public class ReportCacheDaoBean {
@Id
@Property(nameInDb = "ID")
private String ID;
@Property(nameInDb = "ISSUE")
private String ISSUE;
@Property(nameInDb = "ADRESS")
private String ADRESS;
@Convert(columnType = String.class, converter = PhotoSrcBeanConverter.class)
private List srcBeans;
}
然后要实现PropertyConverter接口,重写里面的两个方法
convertToEntityProperty()//转换为对象属性
convertToDatabaseValue()//转换为数据库属性
public class PhotoSrcBeanConverter implements PropertyConverter,String> { @Override public List
convertToEntityProperty(String databaseValue) { if (databaseValue==null){ return null; } PhotoSrcBean[] array = new Gson().fromJson(databaseValue, PhotoSrcBean[].class); List list_str = Arrays.asList(array); List srcBeanList= new ArrayList<>(); if (list_str.size() > 0) { srcBeanList.addAll(list_str); } return srcBeanList; } @Override public String convertToDatabaseValue(List arrays) { if (arrays == null) { return null; } else { return GsonUtils.toJson(arrays);//转换成String类型 } } }
完活!下课。



