#java #android #android-room
#java #Android #android-room
Вопрос:
В Android-Room я пишу @Dao для класса объектов articleTable.
В этом классе ArticleDao есть несколько методов обновления с разными именами.
Могу ли я перегрузить методы android-room?
Если я перегрузлю методы android-room, будут ли они работать?
Класс ArticleDao находится в следующем
@Dao
public interface ArticleDao {
// insert query
@Insert(onConflict = REPLACE)
void insert(ArticleData articleData);
@Delete
void delete(ArticleData articleData);
// delete all query
@Delete
void reset(List<ArticleData> articleDataList);
// update query
@Query("UPDATE " Constants.TABLE_NAME_ARTICLE
" SET title = :uTitle, content = :uContent WHERE ID = :uID")
void updateTitle_Content(int uID, String uTitle, String uContent);
// update query
@Query("UPDATE " Constants.TABLE_NAME_ARTICLE
" SET articleID = :uArticleID, title = :uTitle WHERE ID = :uID")
void updateArticleID_Title_Content(int uID, int uArticleID, String uTitle);
// update query
@Query("UPDATE " Constants.TABLE_NAME_ARTICLE
" SET articleID = :uArticleID, title = :uTitle, content = :uContent WHERE ID = :uID")
void updateAll(int uID, int uArticleID, String uTitle, String uContent);
// get all data query
@Query("SELECT * FROM " Constants.TABLE_NAME_ARTICLE)
List<ArticleData> getAll();
}
Ответ №1:
Да, мы можем перегрузить методы android-room.
процесс перегрузки метода android-room такой же, как и перегрузка метода java
Класс ArticleDao следует за перегруженными методами.
@Dao
public interface ArticleDao {
// insert query
@Insert(onConflict = REPLACE)
void insert(ArticleData articleData);
@Delete
void delete(ArticleData articleData);
// delete all query
@Delete
void reset(List<ArticleData> articleDataList);
// update query
@Query("UPDATE " Constants.TABLE_NAME_ARTICLE
" SET title = :uTitle, content = :uContent WHERE ID = :uID")
void update(int uID, String uTitle, String uContent);
// update query
@Query("UPDATE " Constants.TABLE_NAME_ARTICLE
" SET articleID = :uArticleID, title = :uTitle WHERE ID = :uID")
void update(int uID, int uArticleID, String uTitle);
// update query
@Query("UPDATE " Constants.TABLE_NAME_ARTICLE
" SET articleID = :uArticleID, title = :uTitle, content = :uContent WHERE ID = :uID")
void update(int uID, int uArticleID, String uTitle, String uContent);
// get all data query
@Query("SELECT * FROM " Constants.TABLE_NAME_ARTICLE)
List<ArticleData> getAll();
}