Room(一)
通过这篇文章,你可以学习到怎么样去创建一个Room数据库,以及对其进行增删改查的基本操作
- 首先第一步,老样子导入相关的依赖
implementation(“androidx.room:room-runtime:2.4.2”) kapt “androidx.room:room-compiler:2.4.2”
- 接下来想要进行数据库操作,肯定要创建一张数据库表
@Entity
data class Student(val name : String,val age : Int,val address : String) {
@PrimaryKey(autoGenerate = true)
var id : Long = 0
}
- 表创建好了以后,就要开始进行增删改查的操作了
@Dao
interface StudentDao {
@Insert
fun insert(student : Student) : Long
@Query("Delete from Student where name = :name")
fun delete(name : String) : Int
@Update
fun update(newStudent : Student)
@Query("Select * from Student")
fun select() : List<Student>
}
- 创建一个database(这部分的代码基本就是个模板,直接用就好了)
@Database(version = 1, entities = [Student::class],exportSchema=false)
abstract class Appdatabase : RoomDatabase(){
abstract fun studentDao() : StudentDao
companion object{
private var instance : Appdatabase? = null
@Synchronized
fun getDatabase(context : Context): Appdatabase{
instance?.let {
return it
}
return Room.databaseBuilder(context.applicationContext,
Appdatabase::class.java,"app_database")
.build().apply {
instance = this
}
}
}
}
- 最后在MainActivity中实现相关的逻辑
(布局代码就不放进来了,因为很简单,就是四个按钮,对应增删改查)
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val btnAdd : Button = findViewById(R.id.add)
val btnDelete : Button = findViewById(R.id.delete)
val btnUpdate : Button = findViewById(R.id.updata)
val btnSelect : Button = findViewById(R.id.select)
val studentDao = Appdatabase.getDatabase(this).studentDao()
val student1 = Student("zhangsan",12,"anhui")
btnAdd.setOnClickListener {
thread {
student1.id = studentDao.insert(student1)
}
}
btnDelete.setOnClickListener {
thread {
studentDao.delete("zhangsan")
}
}
btnUpdate.setOnClickListener {
thread {
student1.name = "lisi"
studentDao.update(student1)
}
}
btnSelect.setOnClickListener {
thread {
for(student in studentDao.select()){
Log.d("message",student.toString())
}
}
}
}
}
=======================================================================================
总结:
通过上述的操作,我们就成功的创建了一个数据表,已经对其进行了增删改查的操作,整体的逻辑代码还是比较简单的
首先创建一个数据表,之后创建一个Dao接口,对数据表进行增删改查的操作。接下来再创建一个database数据库,进行关联,就大功告成了!
|