| package com.doumee.config.mybatis; | 
|   | 
| import cn.hutool.json.JSONUtil; | 
| import com.alibaba.fastjson.JSONObject; | 
| import org.apache.commons.lang3.StringUtils; | 
| import org.apache.ibatis.type.JdbcType; | 
| import org.apache.ibatis.type.TypeHandler; | 
|   | 
| import java.sql.CallableStatement; | 
| import java.sql.PreparedStatement; | 
| import java.sql.ResultSet; | 
| import java.sql.SQLException; | 
|   | 
| /** | 
|  * @author T14 | 
|  */ | 
| public class JSONObjectHandler implements TypeHandler<JSONObject> { | 
|     @Override | 
|     public void setParameter(PreparedStatement preparedStatement, int i, JSONObject o, JdbcType jdbcType) throws SQLException { | 
|         preparedStatement.setString(i,toString()); | 
|     } | 
|   | 
|     @Override | 
|     public JSONObject getResult(ResultSet resultSet, String s) throws SQLException { | 
|         String str = resultSet.getString(s); | 
|         if (StringUtils.isBlank(str)){ | 
|             return null; | 
|         } | 
|         if (!JSONUtil.isJsonObj(str)){ | 
|             throw new SQLException("解析数据格式有误"); | 
|         } | 
|         return (JSONObject)JSONObject.parse(str); | 
|     } | 
|   | 
|     @Override | 
|     public JSONObject getResult(ResultSet resultSet, int i) throws SQLException { | 
|         String str = resultSet.getString(i); | 
|         if (StringUtils.isBlank(str)){ | 
|             return null; | 
|         } | 
|         if (!JSONUtil.isJsonObj(str)){ | 
|             throw new SQLException("解析数据格式有误"); | 
|         } | 
|         return (JSONObject)JSONObject.parse(str); | 
|     } | 
|   | 
|     @Override | 
|     public JSONObject getResult(CallableStatement callableStatement, int i) throws SQLException { | 
|         String str = callableStatement.getString(i); | 
|         if (StringUtils.isBlank(str)){ | 
|             return null; | 
|         } | 
|         if (!JSONUtil.isJsonObj(str)){ | 
|             throw new SQLException("解析数据格式有误"); | 
|         } | 
|         return (JSONObject)JSONObject.parse(str); | 
|     } | 
| } |