小白是我吖
2019-09-25 16:06
采纳率: 76.9%
浏览 746
已采纳

Java将Blob类型数据存入数据库

javax.sql.rowset.serial.SerialBlob@82b802e存入的为这个而不是Blob数据,请问该怎么办

public int update(int Id,byte[] original_text) {
        String strSql = "update pro_trans_tesk_t set result_text=? where id=?";

        List<Object> arrArgs = new ArrayList<Object>();
        arrArgs.add(String.valueOf(original_text));
        arrArgs.add(String.valueOf(Id));

        MySqlBaseBean mDBBean = new MySqlBaseBean();
        return mDBBean.update(strSql, arrArgs);
    }

入库代码

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • threenewbee 2019-09-25 16:11
    已采纳

    你看下数据库存入没有,这个是正常的,当你试图print或者toString一个SerialBlob变量的时候,显示的不是文件的内容,而是这么一个字符串。这是正常现象。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 毕小宝 2019-09-25 17:57

    需要看看你的入库代码的逻辑,Blob 类型,Java 实体中应该定义为 byte[] 类型的。

    评论
    解决 无用
    打赏 举报
  • 编程爱好者熊浪 2019-09-25 20:41

    String.valueOf(byte[]),返回的就是一个地址,调用的是Object的toString方法,把String.valueOf(original_text)改成new String(original_text)。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题