栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Java

Mybatis配置文件之<typeHandlers>元素解析

Java 更新时间:发布时间: 百科书网 趣学号
解决mybatis返回数据类型为map,值为null的key没返回

mybatis使用Map返回时数据库为空的字段不返回问题 (https://www.cnblogs.com/guo-xu/p/12548949.html)

mybatis返回map时value值为null没有对应的key https://blog.csdn.net/FORLOVEHUAN/article/details/107410736

解决mybatis返回数据类型为map,值为null的key没返回(基于spring) https://blog.csdn.net/FORLOVEHUAN/article/details/107410736

方案1、mybtis 3.3以上版本,增加配置



     
        
         
    

方案2、自定义TypeHandler 2.1 则可以建立一个类,实现Mybatis的TypeHandler接口
package Cloud.Base.Storage.SQL.Handler;

import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeHandler;

import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class EmptyStringIfNull implements TypeHandler
{
    @Override
    public String getResult(ResultSet rs, String columnName) throws SQLException
    {
        return (rs.getString(columnName) == null) ? "" : rs.getString(columnName);
    }

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

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

    @Override
    public void setParameter(PreparedStatement ps, int arg1, String str, JdbcType jdbcType) throws SQLException
    {
    }
}
2.2 返回结果集处理
    
       
    
转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/986644.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号