2

我是 Mybatis 的新手,试图在 Spring 支持下实现 Mybatis。

我必须在表中插入一条记录,但是 Ibatis 是否有像休眠一样的序列生成器?

如果不必手动执行,例如 sequence.nextVal?我不喜欢。

任何建议将不胜感激。

谢谢

4

1 回答 1

1

如果你自己声明了映射器,你必须这样做:

<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 生成器,您可以通过使用generatedKeytable 标签内的标签来做到这一点,它会生成您需要的映射器。

例子:

<table tableName="product" alias="product">
    <generatedKey column="id" sqlStatement="MySql" identity="true" />
</table>
于 2012-08-22T02:28:57.280 回答