Mybatis 插入无法获取自增ID

  先看这样一段代码:


<insert id="insertData" parameterType="TbSchedule">
    INSERT INTO `tb_schedules`
    (
        `courseID`,`courseName`,`requirement`,`content`,`openYear`,`openTerm`,`fromWeek`,`endWeek`,`deptID`,`status`
    )VALUES (
        #{courseID},#{courseName},#{requirement},#{content},#{openYear},#{openTerm},#{fromWeek},#{endWeek},#{deptID},#{status}
    );
    <selectKey resultType="int" order="AFTER" keyProperty="scheduleID">
        SELECT LAST_INSERT_ID()
    </selectKey>
</insert>

public interface ScheduleMapper {
    public CuExists checkParam(@Param("name") String name, @Param("value") String value);
    public int insertData(TbSchedule schedule);
}

  这样的代码是没有任何问题的,但是为什么无法获取到值,同时也无法绑定呢,原因在对应的接口文件,会发现有两种参数传递方式,前面的注解和后面的直接传参数。

  如果使用上面的传递注解参数形式那么在xml文件中对应的就是对应的名称的变量。而后面一种呢,会在xml中绑定一个参数类型,使用的变量就是对应的对象属性。

  综上所述,如果要使用返回绑定值,那么必须使用参数类型绑定,而不是注解形式。

当前还没有任何评论

写下你最简单的想法