2

私はMybatisを初めて使用し、春のサポートでMybatisを実装しようとしています。

テーブルにレコードを挿入する必要がありますが、IbatisにはHibernateのようなシーケンスジェネレーターがありますか?

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 ジェネレーターを使用している場合はgeneratedKey、table タグ内の タグを使用してそれを行うことができ、必要なマッパーを生成します。

例:

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