FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
APIJSON/src/main/java/apijson/orm/SQLExecutor.java at main · APIJSON/APIJSON · GitHub
APIJSON
/
APIJSON
Public
Notifications
You must be signed in to change notification settings
Fork
2.3k
Star
18.4k
Code
Issues
236
Pull requests
0
Actions
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
APIJSON
/
src
/
main
/
java
/
apijson
/
orm
/
SQLExecutor.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
executable file
·
147 lines (119 loc) · 3.88 KB
Breadcrumbs
APIJSON
/
src
/
main
/
java
/
apijson
/
orm
/
SQLExecutor.java
Copy path
File metadata and controls
executable file
·
147 lines (119 loc) · 3.88 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
/*Copyright (C) 2026 the APIJSON group. All rights reserved.
This source code is licensed under the Apache License Version 2.0.*/
package
apijson
.
orm
;
import
java
.
sql
.
Connection
;
import
java
.
sql
.
ResultSet
;
import
java
.
sql
.
ResultSetMetaData
;
import
java
.
sql
.
SQLException
;
import
java
.
sql
.
Savepoint
;
import
java
.
sql
.
Statement
;
import
java
.
util
.
List
;
import
java
.
util
.
Map
;
import
apijson
.*;
/**executor for query(read) or update(write) MySQL database
* @author Lemon
*/
public
interface
SQLExecutor
<
T
,
M
extends
Map
<
String
,
Object
>,
L
extends
List
<
Object
>> {
Parser
<
T
,
M
,
L
>
getParser
();
SQLExecutor
<
T
,
M
,
L
>
setParser
(
Parser
<
T
,
M
,
L
>
parser
);
/**保存缓存
* @param sql
* @param list
* @param config
*/
void
putCache
(
String
sql
,
List
<
M
>
list
,
SQLConfig
<
T
,
M
,
L
>
config
);
/**获取缓存
* @param sql
* @param config
* @return
*/
List
<
M
>
getCache
(
String
sql
,
SQLConfig
<
T
,
M
,
L
>
config
);
/**获取缓存
* @param sql
* @param position
* @param config
* @return
*/
M
getCacheItem
(
String
sql
,
int
position
,
SQLConfig
<
T
,
M
,
L
>
config
);
/**移除缓存
* @param sql
* @param config
*/
void
removeCache
(
String
sql
,
SQLConfig
<
T
,
M
,
L
>
config
);
/**执行SQL
* @param config
* @param unknownType
* @return
* @throws Exception
*/
M
execute
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
,
boolean
unknownType
)
throws
Exception
;
//executeQuery和executeUpdate这两个函数因为返回类型不同,所以不好合并
/**执行查询
* @param config
* @return
* @throws SQLException
*/
default
ResultSet
executeQuery
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
)
throws
Exception
{
return
executeQuery
(
config
,
null
);
}
ResultSet
executeQuery
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
,
String
sql
)
throws
Exception
;
/**执行增、删、改
* @param config
* @return
* @throws SQLException
*/
default
int
executeUpdate
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
)
throws
Exception
{
return
executeUpdate
(
config
,
null
);
}
int
executeUpdate
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
,
String
sql
)
throws
Exception
;
/**判断是否为JSON类型
* @param config
* @param rsmd
* @param position
* @param label
* @return
*/
boolean
isJSONType
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
,
ResultSetMetaData
rsmd
,
int
position
,
String
label
);
/**
* Convert a JDBC value to a JSON-serializable Java value. Database adapters can
* override this hook without replacing the complete result-set traversal.
*/
default
Object
mapResultValue
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
,
Object
value
,
int
jdbcType
,
String
typeName
,
String
label
)
throws
Exception
{
return
value
;
}
Connection
getConnection
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
)
throws
Exception
;
default
Statement
getStatement
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
)
throws
Exception
{
return
getStatement
(
config
,
null
);
}
Statement
getStatement
(
@
NotNull
SQLConfig
<
T
,
M
,
L
>
config
,
String
sql
)
throws
Exception
;
int
getTransactionIsolation
();
void
setTransactionIsolation
(
int
transactionIsolation
);
/**开始事务
* @throws SQLException
*/
void
begin
(
int
transactionIsolation
)
throws
SQLException
;
/**回滚事务
* @throws SQLException
*/
void
rollback
()
throws
SQLException
;
/**提交事务
* @throws SQLException
*/
void
rollback
(
Savepoint
savepoint
)
throws
SQLException
;
/**提交事务
* @throws SQLException
*/
void
commit
()
throws
SQLException
;
/**关闭连接,释放资源
*/
void
close
();
ResultSet
executeQuery
(
@
NotNull
Statement
statement
,
String
sql
)
throws
Exception
;
int
executeUpdate
(
@
NotNull
Statement
statement
,
String
sql
)
throws
Exception
;
ResultSet
execute
(
@
NotNull
Statement
statement
,
String
sql
)
throws
Exception
;
int
getGeneratedSQLCount
();
int
getCachedSQLCount
();
int
getExecutedSQLCount
();
long
getExecutedSQLDuration
();
long
getSqlResultDuration
();
}
Back
|
FazBrowse Home
|
New Git URL