LitePal数据库表关联,Android关系型数据库开发

mac2026-05-21  6

LitePal数据库表关联,Android关系型数据库开发

一对多:

class Image extends DataSupport{ private Task task; //自动生成get,set } class Task extends DataSupport{ private List<Image> images; //自动生成get,set }

Note: 自动生成的get,set方法,不能擅自乱改,详情–>Lite Pal注意事项 , 不想把某个变量当作字段 , get 和 set 方法 不能乱改

如果保存关联数据表保存

先保存Image,再把保存过的实列添加到Task中的 L i s t < i m a g e s > List <images> List<images> 中,再然后保存Task

class Task extends DataSupport{ //........... public void addImages(Image ...images){ for(Image image:images){ image.setTask(this);//这一步可写,可不写 image.save(); this.images.add(image); } } //......... }

获取关联数据

当关联数据保存时,litepal会自动地在Image表上新建一个 f o r e i g n − k e y : t a s k − i d foreign_{-}key : task_{-}id foreignkey:taskid 所以就可以用这个外键来获取关联数据.

class Task extends DataSupport{ //........... public List<Images> getAllIimages(){ return DataSupport.where("task_id=?",this.getId()+"").find(Image.class) } //......... }

Note:以上两个方法千万不能和自动生成的get,set方法混淆 . Lite Pal注意事项 , 不想把某个变量当作字段 , get 和 set 方法 不能乱改

最新回复(0)