<sql id='APP_CUSTOM_ID_SEQ'>APP_CUSTOM_ID_SEQ.currval</sql>
<insert id="save" parameterType="com.xxx.entity.User">
<selectKey keyProperty="Id" resultType="int" order="BEFORE">
select <include refid="APP_CUSTOM_ID_SEQ" /> from dual
</selectKey>
insert into APP_CUSTOM(
ID,
CREATE_NAME,
CREATE_TIME,
ALTER_TIME,
CREATE_USERNAME,
APP_DES
)values(
#{Id},
#{CREATE_NAME},
#{CREATE_TIME},
#{ALTER_TIME},
#{CREATE_USERNAME},
#{APP_DES}
)
</insert>
如上的代码,注意:values 后面的#{Id}的Id必须和User实体的主键的id名称一样,否则会报User实体没有对应的set方法的错。就比如刚开始我的User实体的主键是id,然后
selectKey keyProperty="userId" 所以 insert into xxx values (#{userId},...) 这样会导致报设置的时候,找不到User实体的setUserId的方法,也就是User实体没有userId属性的设置方法