Android Room @Delete with parameters Android Room @Delete with parameters java java

Android Room @Delete with parameters


Actually, you can use @Query to perform a delete.

@Query("DELETE FROM users WHERE user_id = :userId")abstract void deleteByUserId(long userId);

Extracted from Query javadoc:

UPDATE or DELETE queries can return void or int. If it is an int, the value is the number of rows affected by this query.


The beauty of room is, we play with the objects. As per requirement you can use for kotlin:

@Deletefun delete(model: LanguageModel)

for Java:

@Deletevoid delete(LanguageModel model)

it will delete the exact object which is stored in the db with the same values. LanguageModel is my model class and it works perfectly.


You can use below method to delete by ID

@Query("DELETE FROM yourDatabaseTable WHERE id = :id")void deleteById(int id);

for delete all rows

@Query("DELETE FROM yourDatabaseTable")void delete();