Android使用Room操作数据库

       同时用过JDBC和android的SqliteDatabase的人就知道,SqliteDatabase真的是太不好用了,别人说sqlite的其他一些缺点我都不在乎,我在乎的就是它好不好用。人家就跟我说Room比较好用,然后………………,我不得不说,只有使用过android的数据库接口之后,你才会知道jdbc是做得多么的优秀。

      相关的视频教程:
      《Android基础入门到精通数据存储之Room三角色介绍》 https://www.bilibili.com/video/BV1wX4y1V7TG 
      《Android基础入门到精通数据存储之Room三角色编写https://www.bilibili.com/video/BV1hK4y1J7xw 
      《Android基础入门到精通数据存储之Room的实战》 https://www.bilibili.com/video/BV1Ef4y1474j

       使用Room来管理数据库:

首先要在项目app目录下的build.gradle中添加room的依赖:

//添加对room数据库访问的支持
def room_version = "2.2.6" //创建一个变量用于存版本号,方便以后修改版本号
implementation "androidx.room:room-runtime:$room_version" //Room API
annotationProcessor "androidx.room:room-compiler:$room_version" //Room的注解处理器,用于解析@注解 以实现特定的功能。

1、定义数据库表,这个类用于定义表的名字、结构,这个类就对应数据库中的一张表:
@Entity(tableName = "Words")
class Words {
      int id;
      String name;
      int age;
      public WordsDao(int _id, String _name, int _age){
            id=_id;
            name=_name;
            age=_age;

     }

2、定义数据库访问接口:
@Dao
interface WordsDao{
      //在这里可以将sql语句设置成一个方法,让其他地方可以调用,比如:
      @Query("select * from WordsTable")
      List getAll();

3、定义数据库@Database(entities = {WordsTable.class},version=1,exportSchema = false)
public abstract class WordsDatabase extends RoomDatabase {
public abstract WordsDao getWordDao();
}

4. 使用Room:

在MainActivity中:WordsDatabase wordsDatabase;
WordsDao wordsDao;

在onCreate()中:wordsDatabase = Room.databaseBuilder(this, WordsDatabase.class, "words_database")
.build();
wordsDao = wordsDatabase.getWordDao();

获取数据库表WordsTable的查询结果集:
List words=wordsDao.getAll();

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值