mybatis 支持 list<Long> 类型字段存储与读取,实现方式如下:
package com.olivia.sdk.mybatis.type;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.olivia.sdk.utils.JSON;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
@Slf4j
//@MappedJdbcTypes(JdbcType.ARRAY)
public class ListLongTypeHandler extends AbstractJsonTypeHandler<List<Long>> {
private List<Long> getListLongFromJSON(String val) {
if (StringUtils.isBlank(val)) {
return List.of();
}
return JSON.readList(val, Long.class);
}
@Override
protected List<Long> parse(String json) {
return getListLongFromJSON(json);
}
@Override
protected String toJson(List<Long> obj) {
return JSON.toJSONString(obj);
}
}
4万+

被折叠的 条评论
为什么被折叠?



