欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

GreenDao高级用法

发布时间:2025/3/21 编程问答 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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>{@Overridepublic List<String> convertToEntityProperty(String databaseValue) {if (databaseValue == null) {return null;}else {List<String> list = Arrays.asList(databaseValue.split(","));return list;}}@Overridepublic 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()方法,方法内会自动去查询数据

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的GreenDao高级用法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。