当前位置:网站首页>room数据库的使用
room数据库的使用
2022-07-05 05:13:00 【菜鸟xiaowang】
1.导包
implementation "androidx.room:room-runtime:2.4.2" annotationProcessor "androidx.room:room-compiler:2.4.2"
2.gradle中配置
javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] } }
3.创建数据对象实体
@Entity
public class User {
@PrimaryKey(autoGenerate = true)
long userId;
@ColumnInfo(name = "username")
String userName;
@ColumnInfo(name = "password")
String password;
public User(@NonNull String userName,@NonNull String password){
this.userName = userName;
this.password = password;
}
}
4.创建对应的Dao
@Dao
public interface UserDao {
@Insert
void addUser(User ... user);
@Delete
int deleteUser(User user);
@Update
int updateUser(User user);
@Query("SELECT * FROM user WHERE userID = :id")
User queryUser(long id);
}
5.创建数据库
//exportSchema = true 支持导出Room生成的配置文件
@Database(entities = {User.class},version = 3,exportSchema = true)
public abstract class MyRoomDatabase extends RoomDatabase {
public static String roomName = "user";
public static MyRoomDatabase instance;
public abstract UserDao getUserDao();
public static MyRoomDatabase getInstance(Context context){
if (instance == null){
synchronized (MyRoomDatabase.class){
if (instance == null){
instance = Room.databaseBuilder(context,MyRoomDatabase.class,roomName).allowMainThreadQueries().build();
}
}
}
return instance;
}
}
6.调用
MyRoomDatabase.getInstance(this).getUserDao().addUser(new User("wang","lllll"));
边栏推荐
猜你喜欢
BUUCTF MISC
Embedded database development programming (zero)
嵌入式数据库开发编程(六)——C API
Unity ugui source code graphic
Applet Live + e - commerce, si vous voulez être un nouveau e - commerce de détail, utilisez - le!
54. 螺旋矩阵 & 59. 螺旋矩阵 II ●●
AutoCAD - scaling
【Leetcode】1352. Product of the last K numbers
用 Jmeter 工具做个小型压力测试
Generate filled text and pictures
随机推荐
Count sort
Do a small pressure test with JMeter tool
Heap sort summary
cocos2dx_ Lua card flip
Bucket sort
Quick sort summary
xftp7与xshell7下载(官网)
Embedded database development programming (VI) -- C API
PMP考试敏捷占比有多少?解疑
Bubble sort summary
54. 螺旋矩阵 & 59. 螺旋矩阵 II ●●
AutoCAD - command repetition, undo and redo
Out and ref functions of unity
《动手学深度学习》学习笔记
Django reports an error when connecting to the database. What is the reason
Merge sort
Leetcode word search (backtracking method)
用 Jmeter 工具做个小型压力测试
Recherche de mots pour leetcode (solution rétrospective)
C4D simple cloth (version above R21)