在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数;如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能
针对Sequence主键而言,可以采用如下配置方式:
<insert id="insertGroup" parameterType="com.lenovo.lereport.domain.Group" flushCache="true">
<selectKey keyProperty="gid" resultType="int" order="BEFORE">
VALUES NEXTVAL FOR LE_SEQ_GROUP
</selectKey>
INSERT INTO
<include refid="defaultSchema"/>LE_GROUP(GID,GNAME,GTYPE,DESCRIPTION) VALUES (#{gid},#{gname}, #{gtype}, #{description})
</insert>
在insert后group.gid会被赋上值