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
package cn.wisenergy.chnmuseum.party.common.mybatis;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 自定义BaseMapper,增加了批量增删改查的方法
*
* @author Danny Lee
* @since 2020年4月2日15:34:17
*/
public interface MyBaseMapper<T> extends BaseMapper<T> {
/**
* 以下定义的 4个 method,其中前3个是mybatisPlus内置的选装件(升级到3.3之后才有的),如果要自动填充,@{@code Param}(xx) xx参数名必须是 list/collection/array 3个的其中之一
* <p>
* 批量插入
*/
int insertBatchSomeColumn(@Param("list") List<T> list);
/**
* 批量更新
*/
int alwaysUpdateSomeColumnById(@Param(Constants.ENTITY) T entity);
/**
* 批量删除
*/
int deleteByIdWithFill(T entity);
/**
* n
* 以下定义的 4个 default method,
* copy from {@link com.baomidou.mybatisplus.extension.toolkit.ChainWrappers}
*/
default QueryChainWrapper<T> queryChain() {
return new QueryChainWrapper<>(this);
}
default LambdaQueryChainWrapper<T> lambdaQueryChain() {
return new LambdaQueryChainWrapper<>(this);
}
default UpdateChainWrapper<T> updateChain() {
return new UpdateChainWrapper<>(this);
}
default LambdaUpdateChainWrapper<T> lambdaUpdateChain() {
return new LambdaUpdateChainWrapper<>(this);
}
//以下为自己自定义method
int insertBatch(@Param("list") List<T> list);
}