一、Room的使用涉及到三个脚色
1.表的创建
package com.lzl.jectpackdemo;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
@Entity
public class Student {
@PrimaryKey(autoGenerate = true)
private int uid;
@ColumnInfo(name = "name")
private String name;
@ColumnInfo(name = "pwd")
private String pwd;
@ColumnInfo(name = "address")
private String address;
public Student(String name, String pwd, String address) {
this.name = name;
this.pwd = pwd;
this.address = address;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Student{" +
"uid=" + uid +
", name='" + name + ''' +
", pwd='" + pwd + ''' +
", address='" + address + ''' +
'}';
}
}
2.Dao的创建
/**
* 通过apt技术,生成实现类。
*/
@androidx.room.Dao
public interface Dao {
@Insert
void insert(Student... students);
@Delete
void delete(Student student);
@Update
void updata(Student student);
@Query("select * from Student")
List<Student> getAll();
@Query("select * from Student where name like:name")
Student findByName(String name);
}
3.数据库的创建
@Database(entities = {Student.class},version = 1,exportSchema = false)
public abstract class DataBase extends RoomDatabase {
//暴漏dao
public abstract Dao userDao();
}
二、使用方法
new Thread(new Runnable() {
@Override
public void run() {
DataBase dataBase = Room.databaseBuilder(getApplicationContext(), DataBase.class,"MyDb").build();
Dao dao = dataBase.userDao();
dao.insert(new Student("TIANLONG","123","....."));
dao.insert(new Student("TIANLONG1","123","....."));
dao.insert(new Student("TIANLONG2","123","....."));
List<Student> all = dao.getAll();
Log.e("lzl",all.toString());
}
}).start();
三、通过DataBase Navigator去查看数据库
1.通过plugin 去下载插件
2. 如果在这里找不到,可以通过离线下载
plugins.jetbrains.com/plugin/1800…
下载完成后直接把压缩包加入即可,重启就能使用。
3.从data/data/包名/database下的数据库三个文件下载到本地。
注意需要是英文路径,否则后续连接不上