当前位置: 首页>数据库>正文

android room数据库支持的数据类型Long android用的数据库

前言:

在使用SQLite的时候,发现修改数据库表很麻烦,需要更改版本号,最重要的是,更新后以前保存的数据就没了!!!这多恐怖啊,其升级具体操作就是先删除原来的表,再新建同名表,也可以使用一些方法将数据不进行保留,但是很麻烦,对于小白来说,很痛苦。那么,万能的开源库就来拯救我们了,别说了,你一定会喜欢上它。
LitePal是一款开源的数据库框架,使用对象关系映射模式,(大家在使用Hibernate、mybatis也是ORM模式),其配置属性很少,自动维护表,提供封装的API,不需要写SQL语句。

LitePal使用步骤:

文件目录结构:

android room数据库支持的数据类型Long android用的数据库,android room数据库支持的数据类型Long android用的数据库_xml,第1张

一、配置

1.将LitePal引入项目中,编辑app/build.gradle文件,在dependencies闭包中添加如下内容:(一般只需要修改最后一行其中2.0.0为LitePal版本号

implementation 'org.litepal.android:core:2.0.0'

2.配置litepal.xml文件,在app/src/main目录下新建assets目录,在assets目录下新建litepal.xml文件,在xml文件中添加如下内容:

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!--数据库名-->
    <dbname value="UserDemo" />
    <!--数据库版本号-->
    <version value="1" />
    <!--表-->
    <list>
        <mapping class="com.example.litepaldemo"/>
    </list>
</litepal>

3.配置AndroidManifest.xml,配置如下内容:

android:name=".MyApplication"

相应的MyApplication.java文件如下:

public class MyApplication extends Application {
    @Override
    public void onCreate(){
        super.onCreate();
        LitePal.initialize(this);
    }
}

二、创建级数据库

1.定义一个User

public class User extends LitePalSupport {
    private Integer id; //编号
    private String username; //用户名
    private String password;   //密码
    private String sex;      //性别
    private String address;   //地址
//getter和setter方法
    @Override
    public String toString() {
        return "User{" + "id=" + id + ", username='" + username + '\'' +
                ", password='" + password + '\'' +", sex='" + sex + '\'' +
                ", address='" + address + '\'' +  '}';
    }
}

2.在litepal.xml中的litepel标签里添加:(**包名写全哦,不然找不到哦,全部的映射模型类都写list里面就可以了)

<mapping class=”com.example.litepaltest.User”></mapping>

到此位置已经是完整的简单列子编写了,只要进行数据库操作,那么User表就会在数据库中创建,User类中属性对应相应表中的字段。

三、使用LitePal操作数据库

1.添加数据:

public void addUser(){
    System.out.print("add....");
    User user=new User();
    user.setId(++i);
    user.setUsername("susy");
    user.setPassword("123");
    user.setSex("女");
    user.setAddress("上海");
    user.save();
}

2.查询数据

public void queryUser(){
    List<User> users=LitePal.findAll(User.class);
    System.out.print("query....");
    System.out.print("查询到的信息:");
    for(User user:users){
        System.out.println(user);
    }
}

3.更改数据

public void updateUser(){
    ContentValues values=new ContentValues();
    values.put("username","may");
    LitePal.update(User.class,values,2);
}

4.删除数据

public void deleteUser(){

    LitePal.delete(User.class,1);
}

其操作运行截图:

删除数据:删除了了id为1的数据

android room数据库支持的数据类型Long android用的数据库,android room数据库支持的数据类型Long android用的数据库_数据_02,第2张

更新数据:更新了id为2数据,将username改为:may

android room数据库支持的数据类型Long android用的数据库,android room数据库支持的数据类型Long android用的数据库_User_03,第3张

四、升级数据库

1.对持久化类进行更改
2.更改litepal.xml的version即可
例如:增加User类的字段 phone

public class User extends LitePalSupport {
    private Integer id; //编号
    private String username; //用户名
    private String password;   //密码
    private String sex;      //性别
    private String address;   //地址
    private String phone;//电话 ,记得增加该属性的getter和setter方法

修改litepal.xml标签中的version

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="UserDemo" />
     <version value="2" />
    <list>
        <mapping class="com.example.litepaldemo.User"/>
    </list>
</litepal>

以上就是更新数据库的版本操作,是不是很简单,而且原来的数据还会保存下来。

范运好

 


https://www.xamrdz.com/database/6bt1959953.html

相关文章: