美文网首页
com.mysql.jdbc.MysqlDataTruncati

com.mysql.jdbc.MysqlDataTruncati

作者: Aldeo | 来源:发表于2019-05-13 14:08 被阅读0次

    mysql5.7之后开始支持json数据格式类型。
    但是mybaits暂时不支持。逆向工程生成的entity的字段类型为object。
    保存数据的时候报如下错误:

    ### Cause: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
    ; SQL []; Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Cannot create a JSON value from a string with CHARACTER SET 'binary'.
        at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:102)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
        at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:82)
        at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75)
        at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:447)
        at com.sun.proxy.$Proxy74.insert(Unknown Source)
        at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:279)
        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:56)
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:53)
        at com.sun.proxy.$Proxy85.insertSelective(Unknown Source)
        at com.vipcode.vts.service.Impl.HourMaterialServiceImpl.infoAdd(HourMaterialServiceImpl.java:298)
        at com.vipcode.vts.controller.HourMaterialController.infoAdd(HourMaterialController.java:78)
        at com.vipcode.vts.controller.HourMaterialController$$FastClassBySpringCGLIB$$a700d48f.invoke(<generated>)
        at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:736)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
        at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
        at org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke(AfterReturningAdviceInterceptor.java:52)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    
    

    解决办法:
    将生成的entity的object类型改成string。

    相关文章

      网友评论

          本文标题:com.mysql.jdbc.MysqlDataTruncati

          本文链接:https://www.haomeiwen.com/subject/kgvlaqtx.html