基類
@Dao
public interface BaseDao<T> {
@Insert(onConflict = REPLACE)
void insertItem(T item);//插入單條數據
@Insert(onConflict = REPLACE)
void insertItems(List<T> items);//插入list數據
@Delete
void deleteItem(T item);//刪除item
@Delete
void deleteItems(List<T> item);//刪除item
@Update
void updateItem(T item);//更新item
}
沒有實現基類
@Dao
public interface PersonDao {
//查詢所有數據
@Query("Select * from person")
List<Person> getAll();
//刪除全部數據
@Query("DELETE FROM person")
void deleteAll();
//一次插入單條數據 或 多條
// @Insert(onConflict = OnConflictStrategy.REPLACE),這個是干嘛的呢,下面有詳細教程
@Insert
void insert(Person... persons);
//一次刪除單條數據 或 多條
@Delete
void delete(Person... persons);
//一次更新單條數據 或 多條
@Update
void update(Person... persons);
//根據字段去查找數據
@Query("SELECT * FROM person WHERE uid= :uid")
Person getPersonByUid(int uid);
//一次查找多個數據
@Query("SELECT * FROM person WHERE uid IN (:userIds)")
List<Person> loadAllByIds(List<Integer> userIds);
//多個條件查找
@Query("SELECT * FROM person WHERE name = :name AND age = :age")
Person getPersonByNameage(String name, int age);
}