無聊人士

          搬家==》www.soapui.cn

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            32 隨筆 :: 0 文章 :: 60 評論 :: 0 Trackbacks
          最近在“玩”hibernate Annotation,弄了個Attachment保存進數據庫的測試,附件內容保存在content屬性里面。
          ??@Lob
          ??@Column(columnDefinition?
          =?"LongBlob")
          ??
          public?byte[]?getContent()?{
          ????
          return?content;
          ??}
          一開始,配置mysql jdbc url如下
          jdbc.url????????????=????jdbc:mysql://localhost/test\
          ?????????????????????????????useUnicode
          =true\
          ????????????????????????????&characterEncoding
          =gbk
          一測試,報錯
          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)
          同樣的語句,直接在mysql命令行下運行就沒問題,偏偏jdbc上就有這臭毛病。換jdbc driver版本,改@Lob為 @Type(type = "org.springframework.orm.hibernate3.support.BlobByteArrayType"),改hibernate配置(比如hibernate.jdbc.use_streams_for_binary true),甚至是直接用jdbc來insert,亂七八糟折騰半天,問題照舊。最后只好用上“歪”招,把byte[]配成String,在保存的時候把byte[]保存成hex String格式,取的時候再解碼回來。

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

          posted on 2006-10-12 15:54 mmwy 閱讀(1777) 評論(1)  編輯  收藏 所屬分類: HibernateDatabase

          評論

          # re: mysql 3.23.58 charset設置對blob字段操作的影響 2008-12-19 15:40 趙客
          太牛了,我也遇到這個問題了,弄了半天了,高手  回復  更多評論
            

          主站蜘蛛池模板: 临高县| 巫溪县| 通辽市| 和田县| 平山县| 搜索| 多伦县| 平昌县| 武夷山市| SHOW| 大理市| 元阳县| 清原| 高邑县| 全椒县| 凤城市| 阿尔山市| 从化市| 渑池县| 新沂市| 伊金霍洛旗| 博罗县| 衡阳市| 龙南县| 盖州市| 贞丰县| 电白县| 武平县| 喀喇| 宿迁市| 元江| 龙游县| 嘉义县| 枞阳县| 武鸣县| 台北县| 肥乡县| 光泽县| 鄱阳县| 漾濞| 德化县|