CustomJdbcTemplateBroadcastInterface.java
4.79 KB
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.taover.repository;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import com.taover.repository.exception.MultiRowException;
import com.taover.repository.exception.NoContainTenantException;
import com.taover.repository.exception.NotFoundException;
public interface CustomJdbcTemplateBroadcastInterface<T, ID extends Serializable> {
/**
* 按主键查询
*/
public T findEntityByID(ID id) throws NotFoundException;
/**
* 按主键查询
* isLock 是否锁定, 默认不锁
* fromWriteDB 是否从写库读写,默认从读库查询
*/
public T findEntityByID(ID id, boolean isLock) throws NotFoundException;
/**
* 根据条件List<Object[]>查询
* Object[]数组长度是3
* Object[], 第一个参数是列名,第二个参数是操作符,第三个参数是查询条件的值。
*/
public T findEntityByCondition(List<Object[]> condition) throws NotFoundException,MultiRowException,NoContainTenantException;
/**
* 根据条件sql查询
* sqlCondition 为where 后面的条件。
*/
public T findEntityBySql(String sqlCondition) throws NotFoundException,MultiRowException,NoContainTenantException;
/**
* 根据条件List<Object[]>查询
* Object[]数组长度是3
* Object[], 第一个参数是列名,第二个参数是操作符,第三个参数是查询条件的值。
*/
public List<T> findListByCondition(List<Object[]> condition);
/**
* 根据条件List<Object[]>查询
* Object[]数组长度是3
* Object[], 第一个参数是列名,第二个参数是操作符,第三个参数是查询条件的值。
*/
public List<T> findListByCondition(List<Object[]> condition, String sortCondition);
/**
* 根据条件sql查询
* sqlCondition 为where 后面的条件。
*/
public List<T> findListBySql(String sqlCondition);
/**
* 按条件分页查询
* Object[]数组长度是3
* Object[], 第一个参数是列名,第二个参数是操作符,第三个参数是查询条件的值。
*/
public Map<String, Object> findPageByCondition(List<Object[]> condition, int page, int pageSize);
/**
* 按条件分页查询
* Object[]数组长度是3
* Object[]第一个参数是列名,第二个参数是操作符,第三个参数是查询条件的值。
* boolean isUseCache, 是否用缓存,默认用。
* boolean isAddCache, 是否添加缓存,默认添加。
*/
public Map<String, Object> findPageByCondition(List<Object[]> condition, String sortCondition, int page, int pageSize);
/**
* 按sql分页查询, sqlCondition为where 后条件sql
*/
public Map<String, Object> findPageBySql(String sqlCondition, int page, int pageSize);
/**
* 添加
*/
public void addEntity(T entity);
/**
* 批量添加
* @throws Exception
*/
public void addEntityList(List<T> entityList);
/**
* 按ID删除
*/
public int deleteEntityByID(ID id);
/**
* 删除按List<Object[]>条件
* Object[]数组长度是3
* Object[], 第一个参数是列名,第二个参数是操作符,第三个参数是查询条件的值。
*/
public int deleteEntityByCondition(List<Object[]> condition);
/**
* 删除按condition条件
* 建议使用deleteTByCondition(List<Object[]> condition), 如果removeTByCondition(List<Object[]> condition)满足不了where条件可以使用此方法。
* condition为where后面的条件,condition不能为空。
*/
public int deleteEntityBySql(String sqlCondition);
/**
* 根据list对象逐个删除。
* @throws NoContainTenantException
*/
public int deleteEntityList(List<ID> idList);
/**
* 根据ID修改指定的值
*/
public int updateEntityById(List<Object[]> changeList, ID id);
/**
* List<Object[]> updateObj 要修改成的值,数组长度为2,第一个值为列名,第二个值是要改成的值。
* List<Object[]> condition 修改的条件, 数组长度是3, 第一个参数是列名,第二个参数是操作符,第三个参数是查询条件的值。
*/
public int updateEntityByCondition(List<Object[]> updateObj, List<Object[]> condition);
/**
* List<Object[]> updateObj 要修改成的值,数组长度为2,第一个值为列名,第二个值是要改成的值。
* String sqlCondition 修改的条件。
*/
public int updateEntityBySql(List<Object[]> updateObj, String sqlCondition);
/**
* 获取分页数据
* @param coreSql
* @param orderByPartSql
* @param page
* @param pageSize
* @return
*/
public Map<String, Object> getPageData(String coreSql, String orderByPartSql, Integer page, Integer pageSize);
/**
* 获取分页数据
* @param selectSql
* @param fromAndWhereSql
* @param orderByPartSql
* @param page
* @param pageSize
* @return
*/
public Map<String, Object> getPageData(String selectSql, String fromAndWhereSql, String orderByPartSql, Integer page, Integer pageSize);
}