無(wú)聊人士

          搬家==》www.soapui.cn

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            32 隨筆 :: 0 文章 :: 60 評(píng)論 :: 0 Trackbacks
          最近在“玩”hibernate Annotation,弄了個(gè)Attachment保存進(jìn)數(shù)據(jù)庫(kù)的測(cè)試,附件內(nèi)容保存在content屬性里面。
          ??@Lob
          ??@Column(columnDefinition?
          =?"LongBlob")
          ??
          public?byte[]?getContent()?{
          ????
          return?content;
          ??}
          一開(kāi)始,配置mysql jdbc url如下
          jdbc.url????????????=????jdbc:mysql://localhost/test\
          ?????????????????????????????useUnicode
          =true\
          ????????????????????????????&characterEncoding
          =gbk
          一測(cè)試,報(bào)錯(cuò)
          Caused?by:?java.sql.BatchUpdateException:?Syntax?error?or?access?violation?message?from?server:?"You?have?an?error?in?your?SQL?syntax?near?''D0CF11E0A1B11AE1000000000000000000000000000000003E000300FEFF0900060000000000000'?at?line?1"
          ????at?com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:
          1540)
          同樣的語(yǔ)句,直接在mysql命令行下運(yùn)行就沒(méi)問(wèn)題,偏偏jdbc上就有這臭毛病。換jdbc driver版本,改@Lob為 @Type(type = "org.springframework.orm.hibernate3.support.BlobByteArrayType"),改hibernate配置(比如hibernate.jdbc.use_streams_for_binary true),甚至是直接用jdbc來(lái)insert,亂七八糟折騰半天,問(wèn)題照舊。最后只好用上“歪”招,把byte[]配成String,在保存的時(shí)候把byte[]保存成hex String格式,取的時(shí)候再解碼回來(lái)。

          歪招終歸是歪招,這兩天老為這東西心煩,晚上吃飯的時(shí)候無(wú)意中想起charset的問(wèn)題,把代碼撿回來(lái)再測(cè)試了一下,問(wèn)題解決,哈哈!
          jdbc.url????????????=????jdbc:mysql://localhost/mmwy_blog\
          ?????????????????????????????useUnicode
          =true\
          ????????????????????????????&characterEncoding
          =utf-8
          如果設(shè)成iso-8859-1、utf-8,保存一點(diǎn)問(wèn)題都沒(méi)有,換用gbk、gb2312、big5之類(lèi)的字符集,問(wèn)題就出來(lái)了。

          posted on 2006-10-12 15:54 mmwy 閱讀(1768) 評(píng)論(1)  編輯  收藏 所屬分類(lèi): HibernateDatabase

          評(píng)論

          # re: mysql 3.23.58 charset設(shè)置對(duì)blob字段操作的影響 2008-12-19 15:40 趙客
          太牛了,我也遇到這個(gè)問(wèn)題了,弄了半天了,高手  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 漳平市| 于田县| 张家界市| 利辛县| 寿阳县| 清涧县| 青铜峡市| 四子王旗| 大冶市| 七台河市| 栾川县| 海阳市| 沛县| 延长县| 新津县| 四平市| 都江堰市| 宿迁市| 轮台县| 绥棱县| 南华县| 满洲里市| 宜良县| 准格尔旗| 孝昌县| 花莲市| 黄梅县| 得荣县| 峨边| 石景山区| 赤壁市| 团风县| 百色市| 冀州市| 车致| 湖州市| 辽宁省| 太原市| 彭阳县| 会宁县| 梁河县|