数据库PostgreSQL,表sub_rule的detail字段类型为json
实体类中detail字段类型为Object
public class SubRule {
private String id;
private String name;
private Object detail; //json类型
private String ruleId;
private int dimensionSize;
}
正常来说,MyBatis的mapper中是无法映射json类型数据的,因为我们需要自定义一个typeHandler,继承BaseTypeHandler。
package com.yealink.ptms.typeHandler;
import com.yealink.ptms.util.JsonUtil;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedTypes;
import org.codehaus.jackson.map.ObjectMapper;
import org.postgresql.util.PGobject;
import java.io.IOException;
import java.sql.CallableStatement;
import java.sql.Pr