古城热线 发表于 2016-11-27 09:22:02

mybatis insert 时 null值的报错问题

  在用mybatis的时候,特别是在进行update,insert或者delete的时候,如果有的值是null的话,会报错。原因是没有为参数指定jdbcType,所以当值是null的时候,mybatis无法进行转换,解决方法就是在sql的xml文件中,每个参数后面都跟上它的jdbcType。
  <insert id="insertSomething" parameterType="xxx.xxx.xxx.xxxxvo">
  insert into tbl (name,age,sex) values (#{name,jdbcType=VARCHAR},#{age,jdbcType= INTEGER},#{sex,jdbcType=VARCHAR})
  </insert>
  jdbcType的值对应有很多:
  BIT         FLOAT      CHAR           TIMESTAMP       OTHER       UNDEFINED

TINYINT     REAL       VARCHAR        BINARY          BLOB        NVARCHAR

SMALLINT    DOUBLE     LONGVARCHAR    VARBINARY       CLOB        NCHAR

INTEGER     NUMERIC    DATE           LONGVARBINARY   BOOLEAN     NCLOB

BIGINT      DECIMAL    TIME           NULL            CURSOR
页: [1]
查看完整版本: mybatis insert 时 null值的报错问题