2012-06-28 33 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>