一、背景
有的时候需要返回插入值后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下的示例