posts - 110, comments - 101, trackbacks - 0, articles - 7
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          在ibatis中不需要關(guān)注這些參數(shù) 而轉(zhuǎn)到mybatis后 如果字段值為空 必須設(shè)置jdbcType

          insert into testTable
             (ID,
             NAME,
             DESCRIPTION,
             IMAGEURL,
             LINKURL,
             ISALWAYS,
             ISDISPLAYINDEX,
             DISPLAYWEIGHT,
             STARTTIME,
             ENDTIME,
             CREATOR,
             CREATTIME,
             MODIFYTIME)
            values
             (SEQ_ACTIVITY_TABLE.NEXTVAL,
             #{name},
             #{desc,jdbcType=VARCHAR},
             #{imageUrl,jdbcType=VARCHAR},
             #{linkUrl,jdbcType=VARCHAR},
             #{isAlways,jdbcType=CHAR},
             #{isDisplayIndex,jdbcType=CHAR},
             #{displayWeight,jdbcType=VARCHAR},
             #{startTime,jdbcType=DATE},
             #{endTime,jdbcType=DATE},
             #{creator,jdbcType=VARCHAR},
             sysdate,
             sysdate
             )
           </insert>

          這些設(shè)置之多,太煩了,最讓人煩的是  jdbcType = DATE,類型還必須大寫,不能小寫。
          如下面的例子,將DATE 改成 Date 。結(jié)果讓人很抓狂啊!!!
          insert into testTable
             (ID,
             NAME,
             DESCRIPTION,
             IMAGEURL,
             LINKURL,
             ISALWAYS,
             ISDISPLAYINDEX,
             DISPLAYWEIGHT,
             STARTTIME,
             ENDTIME,
             CREATOR,
             CREATTIME,
             MODIFYTIME)
            values
             (SEQ_ACTIVITY_TABLE.NEXTVAL,
             #{name},
             #{desc,jdbcType=VARCHAR},
             #{imageUrl,jdbcType=VARCHAR},
             #{linkUrl,jdbcType=VARCHAR},
             #{isAlways,jdbcType=CHAR},
             #{isDisplayIndex,jdbcType=CHAR},
             #{displayWeight,jdbcType=VARCHAR},
             #{startTime,jdbcType=Date},
             #{endTime,jdbcType=DATE},
             #{creator,jdbcType=VARCHAR},
             sysdate,
             sysdate
             )
           </insert>
          org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum const class org.apache.ibatis.type.JdbcType.Date
          	org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
          	org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:368)
          更坑爹的在后面,上面insert時(shí)的時(shí)候用#{endTime,jdbcType=DATE},可以將時(shí)間插入成功,且可以精確到時(shí)分秒
          但如果在update語句中也這樣使用,那你得到的只會(huì)有日期,這夠坑爹的了吧 ,尼瑪  比起ibatis方便之處差遠(yuǎn)了
          要想在update語句中 將時(shí)間格式化成時(shí)分秒 不得不再加一個(gè)類型 如下面:
          startTime = #{startTime,javaType=DATE, jdbcType=VARCHAR}














          評(píng)論

          # re: mybatis No enum const class org.apache.ibatis.type.JdbcType.Date 坑爹的配置  回復(fù)  更多評(píng)論   

          2014-08-12 11:10 by rit
          還是不行哦

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 高要市| 客服| 平江县| 五寨县| 克拉玛依市| 乌拉特后旗| 鄂尔多斯市| 江门市| 香河县| 福清市| 新化县| 抚松县| 绥滨县| 修武县| 湘潭县| 天峻县| 昂仁县| 惠水县| 台江县| 胶南市| 桓仁| 宜川县| 洛隆县| 平舆县| 南开区| 丹凤县| 大庆市| 略阳县| 五常市| 炎陵县| 平遥县| 安塞县| 遂川县| 遂溪县| 吴堡县| 麻栗坡县| 滦平县| 锦州市| 新巴尔虎右旗| 天津市| 土默特左旗|