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()

猜你喜欢

转载自mrchaohe.iteye.com/blog/2190757
今日推荐