1 public interface BaseMapper<T> {
2
3 /**
4 * <p>
5 * 插入一条记录
6 * </p>
7 *
8 * @param entity 实体对象
9 */
10 int insert(T entity);
11
12 /**
13 * <p>
14 * 根据 ID 删除
15 * </p>
16 *
17 * @param id 主键ID
18 */
19 int deleteById(Serializable id);
20
21 /**
22 * <p>
23 * 根据 columnMap 条件,删除记录
24 * </p>
25 *
26 * @param columnMap 表字段 map 对象
27 */
28 int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
29
30 /**
31 * <p>
32 * 根据 entity 条件,删除记录
33 * </p>
34 *
35 * @param queryWrapper 实体对象封装操作类(可以为 null)
36 */
37 int delete(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
38
39 /**
40 * <p>
41 * 删除(根据ID 批量删除)
42 * </p>
43 *
44 * @param idList 主键ID列表(不能为 null 以及 empty)
45 */
46 int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
47
48 /**
49 * <p>
50 * 根据 ID 修改
51 * </p>
52 *
53 * @param entity 实体对象
54 */
55 int updateById(@Param(Constants.ENTITY) T entity);
56
57 /**
58 * <p>
59 * 根据 whereEntity 条件,更新记录
60 * </p>
61 *
62 * @param entity 实体对象 (set 条件值,不能为 null)
63 * @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)
64 */
65 int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);
66
67 /**
68 * <p>
69 * 根据 ID 查询
70 * </p>
71 *
72 * @param id 主键ID
73 */
74 T selectById(Serializable id);
75
76 /**
77 * <p>
78 * 查询(根据ID 批量查询)
79 * </p>
80 *
81 * @param idList 主键ID列表(不能为 null 以及 empty)
82 */
83 List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
84
85 /**
86 * <p>
87 * 查询(根据 columnMap 条件)
88 * </p>
89 *
90 * @param columnMap 表字段 map 对象
91 */
92 List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
93
94 /**
95 * <p>
96 * 根据 entity 条件,查询一条记录
97 * </p>
98 *
99 * @param queryWrapper 实体对象
100 */
101 T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
102
103 /**
104 * <p>
105 * 根据 Wrapper 条件,查询总记录数
106 * </p>
107 *
108 * @param queryWrapper 实体对象
109 */
110 Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
111
112 /**
113 * <p>
114 * 根据 entity 条件,查询全部记录
115 * </p>
116 *
117 * @param queryWrapper 实体对象封装操作类(可以为 null)
118 */
119 List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
120
121 /**
122 * <p>
123 * 根据 Wrapper 条件,查询全部记录
124 * </p>
125 *
126 * @param queryWrapper 实体对象封装操作类(可以为 null)
127 */
128 List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
129
130 /**
131 * <p>
132 * 根据 Wrapper 条件,查询全部记录
133 * 注意: 只返回第一个字段的值
134 * </p>
135 *
136 * @param queryWrapper 实体对象封装操作类(可以为 null)
137 */
138 List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
139
140 /**
141 * <p>
142 * 根据 entity 条件,查询全部记录(并翻页)
143 * </p>
144 *
145 * @param page 分页查询条件(可以为 RowBounds.DEFAULT)
146 * @param queryWrapper 实体对象封装操作类(可以为 null)
147 */
148 IPage<T> selectPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
149
150 /**
151 * <p>
152 * 根据 Wrapper 条件,查询全部记录(并翻页)
153 * </p>
154 *
155 * @param page 分页查询条件
156 * @param queryWrapper 实体对象封装操作类
157 */
158 IPage<Map<String, Object>> selectMapsPage(IPage<T> page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
159 }