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);
    }

入库代码

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

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

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