MyBatis的insert之后如何返回自动生成的主键值
一、背景有的时候需要返回插入值后DB自动增长生成的记录ID,在Mybatis的 环境下如何做呢?
二、代码示例
<insert id="insert" parameterType="com.qunar.fax.model.qunar.entry.FaxSendNotify"useGeneratedKeys="true" keyProperty="id">
<selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">
SELECT LAST_INSERT_ID() AS ID
</selectKey>
INSERT INTO fax_send_notify(
header_action,
taskId,
tel_number,
send_datetime,
duration,
fax_status,
remote_id,
error_msg,
connect_speed,
file_size,
pages,
status,
send_pages,
create_time,
callback_time,
retry_count,
source,
version
)
VALUE(
#{headerAction},
#{taskId},
#{telNumber},
#{sendDatetime},
#{duration},
#{faxStatus},
#{remoteId},
#{errorMsg},
#{connectSpeed},
#{fileSize},
#{pages},
#{status},
#{sendPages},
#{createTime},
#{callBackTime},
#{retryCount},
#{source},
#{version}
)
</insert>
运行之后,能够自动将ID赋值到对象FaxSendNotify的id属性里面,so easy!
补充一句,这是Mysql db下的示例
页:
[1]