1. 程式人生 > >typeHandler="backStage.typehandler.ListTypeHandler"List型別轉出工具

typeHandler="backStage.typehandler.ListTypeHandler"List型別轉出工具

@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;
}

}