目录
Room是SQLite数据库的抽象封装,可以让我们流畅易用的访问数据库
Room三角色介绍
Entity、Dao、DB
@Entity //完成对表的操作
class Student{}
@Dao //可以完成对上面表的crud(对数据库的增删改查)
class StudentDao{}
@Database(数据库名字,版本号) //数据信息
class StudentDB{}
Room三角色编写
引入依赖
implementation 'androidx.room:room-runtime:2.4.3'
annotationProcessor 'androidx.room:room-compiler:2.4.3'
编写三角色
Student.java
package com.example.myproject.room;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
/**
* 一张表 (主键唯一 主键自动增长, name,age)
*/
@Entity
public class Student {
@PrimaryKey(autoGenerate = true)//主键id
private int id;
private String name;
private int age;
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
public Student(String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
StudentDAO.java
package com.example.myproject.room