如果你的数据库支持主键自增,例如MySQL和SQL Server,那么你可以简单的设置 useGeneratedKeys="true" ,用keyProperty 去指定主键名称,
<insert id="insertAttendanceHoliday" useGeneratedKeys="true" keyProperty="HolidayInnerId" parameterType="Attendance_Holiday">
insert into Attendance_Holiday (<include refid="holidaySqlNoId"></include>) values (#{HolidayName},#{HStartDate},#{HEndDate},#{Remark},#{ISFills},0)
</insert>
-useGeneratedKeys
取值范围true|false
默认值是:false。
含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。MySQL和SQLServer执行auto-generated key field,因此当数据库设置好自增长主键后,可通过JDBC的getGeneratedKeys方法获取。
通过getGeneratedKeys方法获取,也就是不根据返回的int值做返回,而是返回的是插入的实体类的id信息
直接根据getHolidayInnerId 方法获取具体的自增id。
各位坑友请自觉爬坑