Open source are the greatest wealth---WANGPENG
          posts - 46, comments - 11, trackbacks - 0, articles - 0
             :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          [轉載]Hibernate映射MySQL "0000-00-00 00:00:00"

          Posted on 2009-08-05 16:34 WANGPENG 閱讀(819) 評論(0)  編輯  收藏 所屬分類: Java
                在Mysql數據庫中使用DATETIME類型來存儲時間 一般情況下最好在jdbc中使用getTimestamp()方法獲取Timestamp格式的時間,然后在轉化成Java的

          Date.如果遇到要在ResultSet 獲取值為"或'0000-00-00 00:00:00'這樣的數據時(rs.getDate('gmt_sync')或 rs.getTimestamp('gmt_sync')等類似方

          法),就會出現如下:

                java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Date;

          或是

                java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00' from column 12 to TIMESTAMP.


                這是因為JDBC不能將'0000-00-00 00:00:00'轉化為一個為一個java.sql.Timestamp,在Java中,想創建一個java.util.Date,使其值為 '0000-00-00'也是不可能的,最古老的日期應該是'0001-01-01 00:00:00'.

          解決:
                在url中加入zeroDateTimeBehavior=convertToNull 

                如:jdbc:mysql://10.2.225.97/c2c?zeroDateTimeBehavior=convertToNull

                這樣在處理如上數據值時,將會返回null,這樣就可以做相應的處理了.

          主站蜘蛛池模板: 望都县| 宁陵县| 犍为县| 登封市| 黄平县| 小金县| 周口市| 永城市| 拉萨市| 德州市| 榆树市| 安陆市| 读书| 霞浦县| 若羌县| 勃利县| 文登市| 蓬安县| 贡山| 北辰区| 开化县| 章丘市| 长宁县| 万安县| 云霄县| 沂南县| 固阳县| 呼伦贝尔市| 阿瓦提县| 奉化市| 邯郸县| 安多县| 根河市| 西乡县| 岳阳市| 西贡区| 吉水县| 沙洋县| 普格县| 宜君县| 农安县|