使用@Insert注解的方法可以帮助我们完成数据的插入,下面三个方法是标识我们可以传三种不同的类型进去。 onConflict被我们用来指定当发生冲突时的策略,比如将@Index的unique属性设置为true时,我们插入新数据与老数据重复就会出现问题,这里我们可以自己定制此问题发生时的策略。详情见:OnConflictStrategy @Dao public interface...
@Insert(onConflict=OnConflictStrategy.REPLACE)voidinsertUsers(User... users); } 当@Insert注解的方法只有一个参数的时候,这个方法也可以返回一个long,当@Insert注解的方法有多个参数的时候则可以返回long[]或者r List<Long>。long都是表示插入的rowId。 2. Update(更新) 当DAO里面的某个方法添加了@Update注解。
下面是在Android4.0上,利用Sqlite数据库的insert,query,update,delete函数以及execSql,rawQuery函数执行插入,查询,更新,删除操作花费时间的对比结果。是在执行相同的动作,记录条数也一样的情况下的对比,多次验证的结果是:(1)如果批量执行的记录数在1000条,则Android SqliteDatabase提供的insert,query,update i++ ide ...
data class StudentRoom(val studentName:String,val roomName:String) {} insert也很简单,直接用@Insert注解即可 @Insert fun insertStudent(student: Student) 如果想确定是不是插入成功的的话,可以加一个返回参数的,返回的是你插入的id吧 当然可以批量插入,用可变参数或者list都可以,返回的结果也是一个list,表示...
suspend fun insert(key: Key) @Delete suspend fun delete(key: Key) @Query("delete from key_table") suspend fun deleteAll() @Update suspend fun update(key: Key) } 可以看到这里创建了,使用@Dao注解声明该接口是Dao,然后可以在接口中写明几个方法,我这里写了六个,其中只有@Query才使用了SQL语句,其...
当你创建了一个DAO方法并注解了@Insert的时候, Room生成了一个实现, 在单个事务中将所有的参数插入数据库. 下面的代码片断展示了几个示例查询: 1 @Dao 2 public interface MyDao { 3 @Insert(onConflict = OnConflictStrategy.REPLACE) 4 public void insertUsers(User... users); 5 6 @Insert 7 public vo...
insert(Book("生死疲劳", "莫言", 32.9f)) dao.insert(Book("一句顶一万句", "刘震云", 32.9f)) Log.d(TAG, "查询名字为三体发的数据: ${dao.queryBookByName("三体")}") Log.d(TAG, "查询id为1,3,4的数据: ${dao.queryBookByIds(arrayOf(1, 3, 4))}") Log.d(TAG, "查询所有数据: $...
@Insert,@Update及@Delete方法:2.1.0室和更高版本支持返回类型的值Completable,Single<T>和Maybe<T>。 @DaopublicinterfaceMyDao{@Query("SELECT * from user where id = :id LIMIT 1")publicFlowable<User>loadUserById(intid);// Emits the number of users added to the database.@InsertpublicMaybe<Int...
returnRoom.databaseBuilder(context.getApplicationContext(), PhoneDatabase.class,"PHONE.db") .allowMainThreadQueries() .build(); } publicabstractPhoneDaogetPhoneDao(); } 使用 增加 privatevoidinsertPhone(String mName, String mPhone){ List<PhoneBean> mPhones =newArrayList<>(); ...
importandroid.arch.persistence.room.Insert; importandroid.arch.persistence.room.OnConflictStrategy; importandroid.arch.persistence.room.Query; importjava.util.List; importio.reactivex.Flowable; @Dao publicinterfaceUserDao{ @Insert(onConflict = OnConflictStrategy.REPLACE) ...