public final void updateModelAttributes(Object handler,Map

本文介绍了一个新功能开发中遇到的断点调试问题,详细解释了为何新建的实体类未实现序列化接口会导致断点异常跳转,并提供了解决方案。
写完一个新功能,断点调试总是跳入这个方法 ↓

public final void updateModelAttributes(Object handler, Map<String, Object> mavModel,
      ExtendedModelMap implicitModel, NativeWebRequest webRequest) throws Exception{

}

原因之一:新建的实体类没有实现序列化( implements Serializable )

希望能够帮助到你

over

@MappedJdbcTypes(JdbcType.VARCHAR) @MappedTypes(Map.class) public class StringToIntegerMapTypeHandler extends BaseTypeHandler<Map<String, Integer>> { private static final ObjectMapper objectMapper = new ObjectMapper(); // 定义Map的泛型类型 private static final JavaType javaType = TypeFactory.defaultInstance() .constructMapType(HashMap.class, String.class, Integer.class); @Override public void setNonNullParameter(PreparedStatement ps, int i, Map<String, Integer> parameter, JdbcType jdbcType) throws SQLException { try { String json = objectMapper.writeValueAsString(parameter); ps.setObject(i, json); // 使用setObject而非setString } catch (JsonProcessingException e) { throw new SQLException("Error converting map to JSON", e); } } @Override public Map<String, Integer> getNullableResult(ResultSet rs, String columnName) throws SQLException { return parseJsonToMap(rs.getString(columnName)); } @Override public Map<String, Integer> getNullableResult(ResultSet rs, int columnIndex) throws SQLException { return parseJsonToMap(rs.getString(columnIndex)); } @Override public Map<String, Integer> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { return parseJsonToMap(cs.getString(columnIndex)); } private Map<String, Integer> parseJsonToMap(String jsonString) { System.out.println(jsonString); System.out.println(1); if (StringUtils.isBlank(jsonString)) { return new HashMap<>(); } try { return objectMapper.readValue(jsonString, javaType); } catch (JsonProcessingException e) { throw new RuntimeException("Error parsing JSON to map", e); } } }为什么插入的时候调用查询时不调用
05-14
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值