mybatisにおけるselectkeyの使い方は何ですか?
MyBatisのselectKeyは、主キーの値を生成し、エンティティオブジェクトに設定するための要素です。通常、データを挿入する際に主キーの値を生成し、その後エンティティオブジェクトに設定して、その後の処理でその主キーの値を使用できるようにします。
selectKey要素は通常、insert文の中でネストされ、生成されたプライマリキーの値をどのエンティティオブジェクトのプロパティに設定するかをkeyProperty属性で指定し、生成されたプライマリキーの値の順序(BEFOREまたはAFTER)をorder属性で指定して、生成されたプライマリキーのデータ型をresultType属性で指定します。
以下は例のコードです:
<insert id="insertUser" parameterType="User" useGeneratedKeys="true" keyProperty="id">
<selectKey keyProperty="id" order="AFTER" resultType="int">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
この例では、insertUserはユーザー情報を挿入するSQLステートメントであり、selectKey要素を使用して主キーの値を生成し、生成された主キーの値をUserオブジェクトのid属性に設定しています。データを挿入した後、Userオブジェクトのid属性を使用して生成された主キーの値を取得できます。