私はMybatisを初めて使用し、春のサポートでMybatisを実装しようとしています。
テーブルにレコードを挿入する必要がありますが、IbatisにはHibernateのようなシーケンスジェネレーターがありますか?
sequence.nextValのように、手動で行う必要がない場合は?私は好きではありません。
周りの提案をいただければ幸いです。
ありがとう
マッパーを自分で宣言した場合は、次のようにする必要があります。
<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>