-
按用户名查询
-
@param userName 用户名
-
@return 用户
*/
@Query(“SELECT * FROM user WHERE user_name LIKE :userName LIMIT 1”)
User findByName(String userName);
/**
-
修改
-
@param user 根据用户进行修改
*/
@Update
void update(User user);
/**
-
删除
-
@param user 根据用户进行删除
*/
@Delete
void delete(User user);
}
UserDao是一个接口,主要是定义了一些方法,通过注解在编译的时候会生成实现类。
下面是数据库的创建,在db包下新建一个MyDatabase类,继承RoomDatabase,代码如下:
@Database(entities = {User.class}, version = 1, exportSchema = false)
public abstract class MyDatabase extends RoomDatabase {
public abstract UserDao userDao();
}
这里的@Database注解表示这个类是用来操作数据库的,entities = {User.class}表示当前数据库中的表,只有一个User表,多的表用应用逗号隔开。version = 1表示数据库的版本,可以做数据库的升级操作。
注意这是一个抽象类,在编译时Room会帮助构建实现类。
现在运行一下,手机或者模拟器都可以。然后什么都不用去做。
可以查看到,MyDatabase和UserDao的实现类都自动生成了。
表操作无非就是那么几个,增删改查,但是为了更直观的显示结果,需要对UI做一些改动。
在工程的build.gradle中增加repositories闭包中增加jitpack库。
maven { url “https://jitpack.io” }
然后在app的build.gradle中的dependencies{}比包中增加
implementation ‘com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4’
1. 修改布局
Sync一下,下面修改一下页面的布局文件activity_main.xml。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
xmlns:app=“http://schemas.android.com/apk/res-auto”
xmlns:tools=“http://schemas.android.com/tools”
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:orientation=“vertical”
tools:context=“.MainActivity”>
<Button
android:id=“@+id/btn_add”
android:layout_width=“match_parent”
android:layout_height=“wrap_content”
android:text=“Add”
app:layout_constraintEnd_toEndOf=