mybatis 返回null 转 空字符串

Posted 阿呆学习之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis 返回null 转 空字符串相关的知识,希望对你有一定的参考价值。

package com.neusoft.mid.msf.issaweb.config;

import org.apache.ibatis.executor.result.ResultMapException;
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;

/**

  • @Name: CustomStringTypeHandler

  • @Desc: 自定义mybatis处理类,将null返回为空串(‘’)

  • @Author: zhou.wang

  • @Date: 2021-05-20 13:41
    */
    @MappedTypes({String.class})
    @MappedJdbcTypes(JdbcType.VARCHAR)
    public class CustomStringTypeHandler extends BaseTypeHandler {

    @Override
    public String getResult(ResultSet rs, String columnName) {
    String result;
    try {
    result = getNullableResult(rs, columnName);
    } catch (Exception e) {
    throw new ResultMapException("Error attempting to get column \'" + columnName + "\' from result set. Cause: " + e, e);
    }
    return result;
    }

    @Override
    public void setNonNullParameter(PreparedStatement ps, int i, String parameter, JdbcType jdbcType)
    throws SQLException {
    ps.setString(i, parameter);
    }

    @Override
    public String getNullableResult(ResultSet rs, String columnName)
    throws SQLException {
    return rs.getString(columnName) == null? "" : rs.getString(columnName);
    }

    @Override
    public String getNullableResult(ResultSet rs, int columnIndex)
    throws SQLException {
    return rs.getString(columnIndex) == null? "" : rs.getString(columnIndex);
    }

    @Override
    public String getNullableResult(CallableStatement cs, int columnIndex)
    throws SQLException {
    return cs.getString(columnIndex) == null? "" : cs.getString(columnIndex);
    }
    }

以上是关于mybatis 返回null 转 空字符串的主要内容,如果未能解决你的问题,请参考以下文章

oracle存空字符串怎么会变成null

springboot中返回值json中null转换空字符串

统一修改表单参数(表单提交的空字符串统一转null)

fastjson序列化将null变成空字符串

hive的空字符串与null

java中json对象有没有方法可以把null值转换成空字符串