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下的示例

猜你喜欢

转载自kongxuan.iteye.com/blog/2021729
今日推荐