关于Mybatis中SQL语句报错的问题

提示是OrderMapper.XML中的insertSelective出错

报错信息:

org.springframework.jdbc.BadSqlGrammarException:

### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

### The error may exist in file [E:\myProject\mall\target\classes\mapper\OrderMapper.xml]

### The error may involve com.example.mall.dao.OrderMapper.insertSelective-Inline

### The error occurred while setting parameters

### SQL: insert into mall_order

### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1****

OrderMapper.XML中的代码:

 <insert id="insertSelective" parameterType="com.example.mall.pojo.Order">
    insert into mall_order
    <trim prefix="(" suffix=")" suffixOverrides=",">
      <if test="id != null">
        id,
      </if>
      <if test="orderNo != null">
        order_no,
      </if>
      <if test="userId != null">
        user_id,
      </if>
      <if test="shippingId != null">
        shipping_id,
      </if>
      <if test="payment != null">
        payment,
      </if>
      <if test="paymentType != null">
        payment_type,
      </if>
      <if test="postage != null">
        postage,
      </if>
      <if test="status != null">
        status,
      </if>
      <if test="paymentTime != null">
        payment_time,
      </if>
      <if test="sendTime != null">
        send_time,
      </if>
      <if test="endTime != null">
        end_time,
      </if>
      <if test="closeTime != null">
        close_time,
      </if>
      <if test="createTime != null">
        create_time,
      </if>
      <if test="updateTime != null">
        update_time,
      </if>
    </trim>
    <trim prefix="values (" suffix=")" suffixOverrides=",">
      <if test="id != null">
        #{id,jdbcType=INTEGER},
      </if>
      <if test="orderNo != null">
        #{orderNo,jdbcType=BIGINT},
      </if>
      <if test="userId != null">
        #{userId,jdbcType=INTEGER},
      </if>
      <if test="shippingId != null">
        #{shippingId,jdbcType=INTEGER},
      </if>
      <if test="payment != null">
        #{payment,jdbcType=DECIMAL},
      </if>
      <if test="paymentType != null">
        #{paymentType,jdbcType=INTEGER},
      </if>
      <if test="postage != null">
        #{postage,jdbcType=INTEGER},
      </if>
      <if test="status != null">
        #{status,jdbcType=INTEGER},
      </if>
      <if test="paymentTime != null">
        #{paymentTime,jdbcType=TIMESTAMP},
      </if>
      <if test="sendTime != null">
        #{sendTime,jdbcType=TIMESTAMP},
      </if>
      <if test="endTime != null">
        #{endTime,jdbcType=TIMESTAMP},
      </if>
      <if test="closeTime != null">
        #{closeTime,jdbcType=TIMESTAMP},
      </if>
      <if test="createTime != null">
        #{createTime,jdbcType=TIMESTAMP},
      </if>
      <if test="updateTime != null">
        #{updateTime,jdbcType=TIMESTAMP},
      </if>
    </trim>
  </insert>

sql用日志打印出来 然后放到plsql跑一遍

mapper看起来没有什么问题,可以检查下传入的Order对象中某些字段类型不一致,比如需要TIMESTAMP传入的不是时间