10
10
import com .alibaba .druid .sql .ast .statement .SQLUpdateStatement ;
11
11
import lombok .Getter ;
12
12
import lombok .extern .slf4j .Slf4j ;
13
+ import org .apache .commons .lang3 .StringUtils ;
13
14
import org .jumpserver .chen .framework .datasource .ConnectionManager ;
14
15
import org .jumpserver .chen .framework .datasource .entity .resource .Field ;
15
16
import org .jumpserver .chen .framework .datasource .sql .*;
19
20
import org .jumpserver .chen .framework .utils .PageUtils ;
20
21
import org .jumpserver .chen .framework .utils .ReflectUtils ;
21
22
23
+ import java .math .BigDecimal ;
22
24
import java .math .BigInteger ;
23
25
import java .sql .*;
24
26
import java .util .ArrayList ;
@@ -149,7 +151,10 @@ private void executeStatement(SQLExecutePlan plan, Statement statement, SQLQuery
149
151
150
152
for (int i = 1 ; i <= resultSet .getMetaData ().getColumnCount (); i ++) {
151
153
Field field = new Field ();
152
- field .setName (resultSet .getMetaData ().getColumnName (i ));
154
+
155
+ var fieldName = StringUtils .isNotEmpty (resultSet .getMetaData ().getColumnLabel (i )) ?
156
+ resultSet .getMetaData ().getColumnLabel (i ) : resultSet .getMetaData ().getColumnName (i );
157
+ field .setName (fieldName );
153
158
result .getFields ().add (field );
154
159
}
155
160
@@ -160,12 +165,12 @@ private void executeStatement(SQLExecutePlan plan, Statement statement, SQLQuery
160
165
var obj = resultSet .getObject (i );
161
166
if (obj instanceof Timestamp timestamp ) {
162
167
fs .add (new Date (timestamp .getTime ()));
163
- } else if (obj instanceof Long l ) {
164
- fs .add (l .toString ());
165
- } else if (obj instanceof BigInteger b ) {
166
- fs .add (b .toString ());
168
+ } else if (obj instanceof Long || obj instanceof BigDecimal || obj instanceof BigInteger ) {
169
+ fs .add (obj .toString ());
167
170
} else if (obj instanceof byte []) {
168
171
fs .add (HexUtils .bytesToHex ((byte []) obj ));
172
+ } else if (obj instanceof Blob ) {
173
+ fs .add (HexUtils .bytesToHex (((Blob ) obj ).getBytes (1 , (int ) ((Blob ) obj ).length ())));
169
174
} else {
170
175
fs .add (obj );
171
176
}
0 commit comments