1、报错信息

2、定位错误的范围

### SQL: insert into business             (businessId,password,salt,businessName,businessAddress,businessExplain,starPrice,deliveryPrice)             values (?,?,?,?,?,?,?,?)

3、从上述报错内容已知错误存在于SQL的insert into操作里,然后跳转到BuseineeMapper.xml里

4、定位到BusinessMapper.xml里的id为add的部分

    <insert id="add" parameterType="Business" useGeneratedKeys="true">
        <!-- 使用数据库的自增列管理businessId值,并保存到Business类的businessId属性中 -->
        <selectKey keyColumn="businessId" keyProperty="businessId" resultType="int">
            select last_insert_id() as businessId
        </selectKey>
        insert into business
            (businessId,password,salt,businessName,businessAddress,businessExplain,starPrice,deliveryPrice)
            values (#{businessId},#{password},#{salt},#{businessName},#{businessAddress},#{businessExplain},#{starPrice},#{deliveryPrice})
    </insert>

5、发现sql语句和xml标签没写错,排除问题存在于BusinessMapper.xml

6、最后发现businessId是必填字段而且是主键,但没有给businessId勾选自动递增,所以插入数据时因为businessId没值且不自增而导致异常

7、勾选上自动递增并保存,运行成功

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐