weimingfei
昨天 fab8c02a0aa8f941a507bdcb3e4d72deb6eb2242
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.doumee.keyCabinet.dao;
 
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.Query;
import androidx.room.Transaction;
import androidx.room.Update;
 
import java.util.List;
/**"SELECT user.id, user.name, user.departmentId," +
        "department.name AS departmentName FROM user " +
        "INNER JOIN department ON user.departmentId = department.id"*/
 
/**
 * 一对一
 * @Entity
    public class User {
        @PrimaryKey public long userId;
        public String name;
        public int age;
    }
 
     @Entity
     public class Library {
         @PrimaryKey public long libraryId;
         public long userOwnerId;
     }
 */
@Dao
public interface CabinetGridDao {
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid")
    List<CabinetGridDo> loadAll();
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE id = :id")
    CabinetGridDo getGridBuyId(int id);
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE grid_key = :key")
    CabinetGridDo getGridByKey(String key);
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE grid_key IN (:keys)")
    List<CabinetGridDo> getGridByKeys(List<String> keys);
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE id = :id")
    List<CabinetGridDo> getGridsById(int id);
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE id IN (:ids)")
    List<CabinetGridDo> getGridsByIds(int... ids);
 
/*
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE cabinet_name = :name LIMIT 1")
    List<CabinetGridDo> getStudentByName(String name);
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE cabinet_name LIKE '%' || :name || '%'")
    List<CabinetGridDo> searchStudentByName(String name);
*/
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE is_open = :isOpen")
    List<CabinetGridDo> getGridByOpenStatus(int isOpen);
 
    @Transaction
    @Query("SELECT * FROM cabinet_grid WHERE is_open = 1 and working_status = 0 and grid_status = 0  and key_status !=3 order by grid_key asc")
    List<CabinetGridDo> getOpenGrids();
 
    @Transaction
    @Query("SELECT count(*) FROM cabinet_grid WHERE is_open = 1")
    int getOpenGridCount();
 
    @Transaction
    @Insert
    void insert(CabinetGridDo data);
 
    @Transaction
    @Insert
    void insertAll(CabinetGridDo... datas);
 
    @Transaction
    @Insert
    void insert(List<CabinetGridDo> studentLists);
 
    @Transaction
    @Update
    void update(CabinetGridDo... datas);
 
    @Transaction
    @Delete
    void delete(CabinetGridDo... datas);
}