关于mybatis处理json疑惑.

对于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) 可能出现那些问题

阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题