LitePal的升级

版权声明:转载附上链接 https://blog.csdn.net/generallizhong/article/details/89182796

1、我们现在晓得LitePal是一款ORM模式的框架了,也熟悉创建流程,这里升级表也非常简单。升级表中的需求,现在我们也需要创建一张comment表。,那当然是先创建一个Comment类了

public class Comment extends DataSupport {
    private int id;
    private String content;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }
}

Comment类中有id和content这两个字段

2、接下来就是修改litepal.xml中的配置,在映射列表中新增Cooment类,并将版本号1修改为2

<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
    <!--数据库的名字-->
    <dbname value="School"></dbname>
    <!--数据库的版本号-->
    <version value="2"></version>

    <!--表-->
    <list>
        <mapping class="com.example.administrator.mylitepal.News"></mapping>
        <mapping class="com.example.administrator.mylitepal.Comment"></mapping>
    </list>
</litepal>

就这两个步骤,升级的操作就已经完成了,现在我们只要操作一下数据库,comment表就会自动生成了

这里还是需要调用一下

SQLiteDatabase db = Connector.getDatabase();

然后就成功了

3、如果现在需要在comment表中添加一个publish date列

public class Comment extends DataSupport {
    private int id;
    private String content;
    private Date publishDate;
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Date getPublishDate() {
        return publishDate;
    }

    public void setPublishDate(Date publishDate) {
        this.publishDate = publishDate;
    }

4、需要在litepal.xml中对版本号加1就行,版本2修改为3

<?xml version="1.0" encoding="UTF-8" ?>
<litepal>
    <!--数据库的名字-->
    <dbname value="School"></dbname>
    <!--数据库的版本号-->
    <version value="3"></version>

    <!--表-->
    <list>
        <mapping class="com.example.administrator.mylitepal.News"></mapping>
        <mapping class="com.example.administrator.mylitepal.Comment"></mapping>
    </list>
</litepal>

这样当我们下一次操作数据库的时候,publish date列就应该会自动添加到comment表中。调用Connector.getDatabase()方法,然后重新查询comment表结构

如果说publish date这一列我们又不想要了,那么只需要在Comment类中把它删除掉,然后将版本号加1,下次操作数据库的时候这个列就会不见了。

如果想删除某一张表的话,操作也很简单,在litepal.xml中的映射列表中将相应的类删除,表自然也就不存在了。

猜你喜欢

转载自blog.csdn.net/generallizhong/article/details/89182796