问答详情
源自:3-4 [Hibernate单表操作] 对象类型

mysql数据库存储图片

虽然是测试成功了,但是查了一下数据库,一直在读取无限的乱码,这样怎么解决啊

提问者:连宏伟HW 2016-12-04 23:19

个回答

  • Airly
    2016-12-06 18:41:45
    已采纳

    你不要太担心这个问题。只要后面没有报错就行了。

    以后工作中是不会把图片存到数据库中的,一般都是存一个路径就行了。

    而且一般来说图片就是用二进制的方式存入到数据库中。这里用的FileInputStream字节流,我觉得可能是序列化或者反序列化的一些问题,是程序内部自己处理的方式的问题。

    我觉得不用太纠结,这个例子主要告诉你Blob的运用。

    你主要掌握:

    <property name="picture" type="java.sql.Blob">

            <column name="PICTURE" />

     </property>

    //创建一个Blob对象

    Blob image = Hibernate.getLobCreator(session).createBlob(input,input.available());

    //获得Blob对象

    Blob image = s.getPicture();

    搞清楚用法就行了。