typeHandler="backStage.typehandler.ListTypeHandler"List型別轉出工具
阿新 • • 發佈:2018-12-09
@MappedTypes({List.class}) public class ListTypeHandler extends BaseTypeHandler {
private final ObjectMapper mapper = new ObjectMapper(); @Override public void setNonNullParameter(PreparedStatement preparedStatement, int i, List list, JdbcType jdbcType) throws SQLException { try { if (list != null && list.size() > 0) { String value = this.mapper.writeValueAsString(list); preparedStatement.setString(i, value); } } catch (JsonProcessingException e) { throw new SystemException(e); } } @Override public List getNullableResult(ResultSet resultSet, String s) throws SQLException { List list = new ArrayList(); String value = resultSet.getString(s); try { if (!StringUtils.isBlank(value)) { list = this.mapper.readValue(value, List.class); } } catch (IOException e) { throw new SystemException(e); } return list; } @Override public List getNullableResult(ResultSet resultSet, int i) { return null; } @Override public List getNullableResult(CallableStatement callableStatement, int i) { return null; }
}