测试IOrderServiceTest时OrderMapper中的SQL语句报错

来源:13-5 创建订单-完成数据库的写入

Kurama丶

2020-03-04

<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>



写回答

2回答

Kurama丶

提问者

2020-03-04

已解决,buildOrder方法的返回值写错了

1
0

Kurama丶

提问者

2020-03-04

报错信息:

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

0
0

实战支付+电商双系统 玩转Java技术栈

花一份课的价,收获:双系统实战+坐拥20K+粉的师兄指导,值~

2046 学习 · 1048 问题

查看课程