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 foreign−key:task−id
所以就可以用这个外键来获取关联数据.
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 方法 不能乱改