国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > MySQL > mysql中blob类型乱码的解决。

mysql中blob类型乱码的解决。

头像

 Ly

2020-06-08 10:11:455016浏览 · 0收藏 · 0评论

场景:数据库为mysql该字段的类型blob。

在从数据库读取时是保存内容全部为乱码,最后在网上找到一种好的解决方法。

可以在读出内容后自己写代码去转换

1、写一个转换类,在指定结果类型时给需要转换的字段指定装换类(PS:持久层使用了mybatis)

import java.io.ByteArrayInputStream;
import java.io.UnsupportedEncodingException;
import java.sql.Blob;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.apache.ibatis.type.BaseTypeHandler;
import org.apache.ibatis.type.JdbcType;
public class MyBlobTypeHandler extends BaseTypeHandler<String> {  
    //###指定字符集  
    private static final String DEFAULT_CHARSET = "utf-8";  
    public void setNonNullParameter(PreparedStatement ps, int i,  
            String parameter, JdbcType jdbcType) throws SQLException {  
        ByteArrayInputStream bis;  
        try {  
            //###把String转化成byte流  
            bis = new ByteArrayInputStream(parameter.getBytes(DEFAULT_CHARSET));  
        } catch (UnsupportedEncodingException e) {  
            throw new RuntimeException("Blob Encoding Error!");  
        }     
        ps.setBinaryStream(i, bis, parameter.length());  
    }  
    @Override  
    public String getNullableResult(ResultSet rs, String columnName)  
            throws SQLException {  
        Blob blob = (Blob) rs.getBlob(columnName);  
        byte[] returnValue = null;  
        if (null != blob) {  
            returnValue = blob.getBytes(1, (int) blob.length());  
        }  
        try {  
            //###把byte转化成string  
            return new String(returnValue, DEFAULT_CHARSET);  
        } catch (UnsupportedEncodingException e) {  
            throw new RuntimeException("Blob Encoding Error!");  
        }  
    }  
    public String getNullableResult(CallableStatement cs, int columnIndex)  
            throws SQLException {  
        Blob blob = (Blob) cs.getBlob(columnIndex);  
        byte[] returnValue = null;  
        if (null != blob) {  
            returnValue = blob.getBytes(1, (int) blob.length());  
        }  
        try {  
            return new String(returnValue, DEFAULT_CHARSET);  
        } catch (UnsupportedEncodingException e) {  
            throw new RuntimeException("Blob Encoding Error!");  
        }  
    }
    @Override
    public String getNullableResult(ResultSet rs, int columnIndex)
            throws SQLException {
        // TODO Auto-generated method stub
        return null;
    }
}

2、在mybatis配置文件中指定

<result column="settlementContent" property="settlementContent" typeHandler="cn.xxx.utils.MyBlobTypeHandler"/>
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

免费观看已满十八岁电视剧在线播... | 日亚M码是日本的还是中国的| 十大名阴排名一览表| 高清无码| 女性摇床和喘气声音哪个更伤身体| 没带置子让他C一节课| 妈妈在家穿超薄内裤的注意事项 | 黑丝| 兰桂坊事件| 地下室SMS录制的全部内容| 按摩师把我添高潮了6次| 法国《监狱伦理3》| 《一滴都不许漏》何泽城林荫 | 免费网站在线观看人数在显示| 少女自愈骑枕头视频 | (丰满的继牾2)理伦片在线观看| 老师好爽要尿了潮喷了18P| 水手服| 老公拿狗给我配| 麦子交换2免费完整版| 瑜伽馆里的私密按摩效果怎么样| 两男吮她的花蒂和奶水视频| 《初次深交流》韩剧| 天堂草原高清在线观看电视剧 | 黑色黄丝包臀紧身连衣裙| 儿子控制不住对妈妈发脾气怎么办| 男男免费观看高清完整版在线观看..| 第1章饱满的乳峰喷奶水动漫| 打扑克免费高清视频| 录像狗配女人| 《女仆教育》动漫第一季| 电影《偷吃》在线观看| 女性扒开大腿内侧小肚子痒| 小洞流口水了 是不是饿了| B站暴躁少女CSGO| 小妈爱上继子免费观看电视剧 | 3DMAX视频成品免费入口| 一枪战三母4国语版免费观看| 被灌满精子的女人会得白血病吗| 高压监狱免费观看完整版在线播放| 韩剧《酒醉热吻》