|
| 1 | +package com.artshell.misc.arch.dao; |
| 2 | + |
| 3 | +import android.arch.persistence.room.Dao; |
| 4 | +import android.arch.persistence.room.Delete; |
| 5 | +import android.arch.persistence.room.Insert; |
| 6 | +import android.arch.persistence.room.OnConflictStrategy; |
| 7 | +import android.arch.persistence.room.Query; |
| 8 | +import android.arch.persistence.room.Update; |
| 9 | + |
| 10 | +import com.artshell.misc.arch.entity.NameTuple; |
| 11 | +import com.artshell.misc.arch.entity.User; |
| 12 | + |
| 13 | +import java.util.List; |
| 14 | + |
| 15 | +@Dao |
| 16 | +public interface OperateDao { |
| 17 | + |
| 18 | + /* =============== Insert ============== */ |
| 19 | + |
| 20 | + @Insert(onConflict = OnConflictStrategy.REPLACE) |
| 21 | + void insertArray(User... users); |
| 22 | + |
| 23 | + @Insert |
| 24 | + void insertArray(User user, List<User> list); |
| 25 | + |
| 26 | + @Insert |
| 27 | + long insert(User user); |
| 28 | + |
| 29 | + @Insert |
| 30 | + long[] insertList(User[] users); |
| 31 | + |
| 32 | + @Insert |
| 33 | + List<Long> insertList(List<User> users); |
| 34 | + |
| 35 | + /* =============== Update ============== */ |
| 36 | + @Update |
| 37 | + void update(User user); |
| 38 | + |
| 39 | + @Update |
| 40 | + int update(User... users); |
| 41 | + |
| 42 | + /* =============== Delete ============== */ |
| 43 | + @Delete |
| 44 | + int delete(User... users); |
| 45 | + |
| 46 | + |
| 47 | + /* =============== Query ============== */ |
| 48 | + /** |
| 49 | + * Use this POJO in your query method |
| 50 | + * @see NameTuple |
| 51 | + * @return |
| 52 | + */ |
| 53 | + @Query("SELECT name, lastName FROM user") |
| 54 | + List<NameTuple> loadTupe(); |
| 55 | + |
| 56 | + @Query("SELECT name, lastName FROM user WHERE id IN (:regions)") |
| 57 | + List<NameTuple> loadTupeRegions(List<Integer> regions); |
| 58 | +} |
0 commit comments