2012-06-28 64 views
1

我是Mybatis的新手,試圖通過Spring支持來實現Mybatis。MyBatis和MySql的序列生成器

我必須插入一個記錄到表中,但是Ibatis有像hibernate那樣的序列生成器嗎?

如果不是必須手動執行,比如sequence.nextVal?我不喜歡。

任何建議,將不勝感激。

感謝

+0

得到它通過使用自動增量PK解決。 –

回答

0

如果你宣佈自己的映射器,你必須這樣做:

<insert id="insert" parameterType="com.your.app.Product"> 
    <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer"> 
     SELECT LAST_INSERT_ID() 
    </selectKey> 
    INSERT INTO product (name, value) 
    VALUES (#{name,jdbcType=VARCHAR}, #{value,jdbcType=DOUBLE}) 
</insert> 

但是,如果你正在使用的MyBatis生成器,你可以做到這一點通過generatedKey標籤在表格標籤內部,它會根據您的需要生成繪圖器。

例子:

<table tableName="product" alias="product"> 
    <generatedKey column="id" sqlStatement="MySql" identity="true" /> 
</table>