1. 程式人生 > >Mybatis 插入並返回主鍵

Mybatis 插入並返回主鍵

一、使用Oracle 序列器作為自增主鍵

1.mapper配置

 <insert id="create" parameterType="MyBean">
        <selectKey resultType="int" order="BEFORE" keyProperty="id">
        <![CDATA[
          SELECT SEQUENCE_ID.NEXTVAL AS id FROM DUAL
        ]]>
        </selectKey>
        <![CDATA[
            INSERT INTO MYTABLE
            (ID, NAME)
            VALUES
            (#{id}, #{name})
        ]]>
</insert>

 注意:mybatis先執行selectKey將序列值注入到目標屬性keyProperty中後再執行insert操作。

2.bean定義

public class MyBean {
    private int id=0;
    private String name=null;
 
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name)  {
        this.name = name;
    }

}

3.handler介面定義

public interface MyBeanHandler {
    public int create(MyBean bean);
}

注意:引數不要使用@Param()