对于mybatis处理json mybatis处理json 官方案例
@MappedTypes({ Pet.class, Car.class })
public class JsonTypeHandler<T> extends BaseTypeHandler<T> {
private Class<T> type;
public JsonTypeHandler(Class<T> type) {
if (type == null) {
throw new IllegalArgumentException("Type argument cannot be null");
}
this.type = type;
}
.....
但是网络上教程都有@MappedJdbcTypes(JdbcType.VARCHAR)
比如这样
@RequiredArgsConstructor
@MappedTypes(JsonNode.class)
@MappedJdbcTypes(JdbcType.VARCHAR)
public class JsonNodeTypeHandler extends BaseTypeHandler<JsonNode> {
private final ObjectMapper objectMapper;
@Override
public void setNonNullParameter(PreparedStatement ps, int i, JsonNode parameter, JdbcType jdbcType) throws SQLException {
String json = parameter.toString();
ps.setString(i, json);
}
MyBatis+Jackson 案例
不加@MappedJdbcTypes(JdbcType.VARCHAR)
可能出现那些问题
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…