数据库框架--LitePal

这是一个轻量级的数据库框架,使用十分方便。

GitHub地址


使用方式:首先创建一个Assets文件夹,在AS里怎样创建assets?,然后在里面创建litepal.xml,将这些代码拷贝进去:



    

    

    
    

解释:dbname表示数据库名字,version是数据库版本,list里面放具体的数据表(数据模型),这里要放完整类名。
这里自己创建一个数据模型:

public class News {
    private int id;

    private String title;

    private String content;

    private Date publishDate;

    private int commentCount;
}

自己的Application类要继承自LitePalApplication,方便框架获取全局上下文。
这样就创建好了数据库。


假设现在要新增Comment表,于是要升级数据库,在litepal里面怎样升级数据库呢?
新增数据表类:

public class Comment {
    private int ID;
    private String content;
}

litepal.xml里面:



    

    

    
        
        
    

版本号变为2,就完成了。

增删改查操作

存储:

News news = new News("title1", "content1");
        news.save();

存一个集合:

DataSupport.saveAll(comments);

修改:

//把title这个字段id为2的标题更改为  今日iPhone6发布
        ContentValues values = new ContentValues();
        values.put("TiTle", "今日iPhone6发布");
        DataSupport.update(News.class, values, 2);

还可以以约束条件进行修改,这个方法 **public static int updateAll(Class modelClass, ContentValues values, String... conditions) **
例:

//表内标题为 今日iPhone6发布 的标题改为 今日iPhone6 plus发布
        ContentValues values = new ContentValues();
        values.put("TiTle", "今日iPhone6 plus发布");
        DataSupport.updateAll(News.class, values, "title = ?", "今日iPhone6发布");

删除:

DataSupport.delete(News.class, 2);  

删除NEws表id为2 的那一行的数据,并且会将以2为外键的数据一并删除。

查询:

        News news = DataSupport.find(News.class, 2);//查询id为2的数据

List allNews = DataSupport.findAll(News.class);//查询所有数据
//查询评论数量大于0的数据,并且只要title和content这个两列数据,并且倒序,并且只要前十条数据
List newsList = DataSupport.select("title", "content")  
        .where("commentcount > ?", "0")  
        .order("publishdate desc").limit(10).find(News.class); 

原生查询:

Cursor cursor = DataSupport.findBySQL("select * from news where commentcount>?", "0");  

以上基本就是LitePal的使用方式了,用起来还是非常给力的。

你可能感兴趣的:(数据库框架--LitePal)