MyBatis Oracleの自己促進シーケンスのコードは次のとおりです。
<ID = "insert" insert "usegeneratedkeys =" true "keyproperty =" s_id "parameterytype =" xxxx "> <selectkey resulttype =" int "order ="> select seq_table.nextval sans-serif; "> s_id </span> <span style =" font-family:arial、helvetica、sans-serif; ">、name、age </span> values(#{s_id}#{name}、#{age})</insert>resultType = "int" intタイプを返します
keypropertyは、return値を次のように割り当てます。パラメータ型のオブジェクトのプロパティ、つまりxxxxxクラスのs_idプロパティ
usegeneratedKeys = "true" keyproperty = "s_id"
シーケンスIDを返します。必要でない場合は、記入できません
mybatis構成の主要な成長を見てみましょう
MySQL、SQLServer、およびその他のデータベース自体には、Auto_incrementなどの主要な自己成長関数があります。それらは直接使用できます
usegeneratedKeys = "true"を実装して、次の構成など
s_user_auth(id、user_id、user_name)values(#{id}、#{userid}、#{username})に挿入ただし、Oracleは機能しません。 Oracleプライマリキーの自己成長はシーケンスによって達成されるため、この方法は不可能であり、以下を使用する必要があります。
1.最初にシーケンスを介してIDを見つけてから、挿入します
DualInSertからs_user_auth(id、user_id、user_name)values(#{id}、#{userid}、#{username})にdualinsertからidとしてidを選択します。2。次のように、直接挿入sequence.nextval
s_user_auth(id、user_id、user_name)values(yoursequence.nextval、#{userid}、#{username})に挿入