Skip to content

Commit 627bdc6

Browse files
committed
Server:解决MySQL CHAR类型字段转JSON报错
1 parent 7bc9dfd commit 627bdc6

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

APIJSON-Java-Server/APIJSONLibrary/src/main/java/zuo/biao/apijson/server/AbstractSQLExecutor.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,11 @@ public JSONObject execute(SQLConfig config) throws Exception {
118118
return null;
119119
}
120120
boolean prepared = config.isPrepared();
121-
121+
122122
final String sql = config.getSQL(false);
123-
123+
124124
config.setPrepared(prepared);
125-
125+
126126
if (StringUtil.isNotEmpty(sql, true) == false) {
127127
Log.e(TAG, "select StringUtil.isNotEmpty(sql, true) == false >> return null;");
128128
return null;
@@ -147,7 +147,7 @@ public JSONObject execute(SQLConfig config) throws Exception {
147147

148148
rs.close();
149149
return result;
150-
150+
151151
case POST:
152152
case PUT:
153153
case DELETE:
@@ -254,7 +254,9 @@ else if (value instanceof String && isJSONType(rsmd, i)) { //json String
254254
@Override
255255
public boolean isJSONType(ResultSetMetaData rsmd, int position) {
256256
try {
257-
return rsmd.getColumnType(position) == 1 || rsmd.getColumnTypeName(position).toLowerCase().contains("json");
257+
//TODO CHAR和JSON类型的字段,getColumnType返回值都是1 ,如果不用CHAR,改用VARCHAR,则可以用上面这行来提高性能。
258+
//return rsmd.getColumnType(position) == 1 || rsmd.getColumnTypeName(position).toLowerCase().contains("json");
259+
return rsmd.getColumnTypeName(position).toLowerCase().contains("json");
258260
} catch (SQLException e) {
259261
e.printStackTrace();
260262
}

0 commit comments

Comments
 (0)