Android 持久化数据--LitePal

LitePal采用ORM,关系映射模型,将面向对象的语言和面向关系的数据库之间建立一种映射关系,这就是对象映射模型。https://github.com/LitePalFramework/LitePal

  1. 添加依赖
    dependencies { implementation 'org.litepal.android:java:3.0.0' }
  2. 在main中创建新目录--assets,并在其中建立litepal.xml 文件


    
    

    
    

    
    
    
    
    
    

  1. 在AndroidMainfest.xml中添加android:name="org.litepal.LitePalApplication"
  2. 主活动中添加初始化程序!
    LitePal.initialize(this);
  3. 创建表格,建立一个Java类,写入列,注意继承LitePal,右键选择generate(生成)或者快捷键 command +N,选择get set 方法,让系统自动生成!(这里需要注意一点,最好给每一个表格都创建一个ID用于区分,查找的时候会用到)image.png
public class Album extends LitePalSupport {
    
    @Column(unique = true, defaultValue = "unknown")
    private String name;
    
    private float price;
    
    private byte[] cover;
    
    private List songs = new ArrayList();

    // generated getters and setters.
    ...
}
  1. 添加映射

    注意这里写的是自己的包名,且要将所有的建立的表格都要映射,否则会出现错误
  2. 保存数据,直接调用set() save()函数就可以
Album album = new Album();
album.setName("album");
album.setPrice(10.99f);
album.setCover(getCoverImageBytes());
album.save();
  1. 更新数据,通过find()函数找到对应的行,调用set() 方法设置想要修改的值,save() 保存就可以了
    Album albumToUpdate = LitePal.find(Album.class, 1); albumToUpdate.setPrice(20.99f); albumToUpdate.save();
  2. 删除数据,调用
    LitePal.delete(Song.class, id);
  3. 查找数据,通过使用
    Song song = LitePal.find(Song.class, id);
    List allSongs = LitePal.findAll(Song.class);
  4. 或许对于以上方法还不满足的话,可以通过adb,使用mysql语句进行修改。

你可能感兴趣的:(Android 持久化数据--LitePal)