Mybatisの第4章:追加、削除、変更

  主に、追加および削除される戻り値のタイプと、主キーを取得する方法を含めます

最初に、jdbcは追加、削除、変更を実行します。デフォルトの戻り値の型はintです。Mybatisでサポートされている戻り値の型は、jdbcよりも強力です。次の戻り値の型は、追加、削除、変更で特にサポートされています。

int
Integer
long 
Long
boolean
Boolean
void

  Mybatisの戻り値を追加、削除、変更するための処理ソースコードは次のとおりです。

private Object rowCountResult(int rowCount){ 
最終オブジェクト結果;
if(method.returnsVoid()){
result = null;
} else if(Integer.class.equals(method.getReturnType())|| Integer.TYPE.equals(method.getReturnType())){
result = rowCount;
} else if(Long.class.equals(method.getReturnType())|| Long.TYPE.equals(method.getReturnType())){
result =(long)rowCount;
} else if(Boolean.class.equals(method.getReturnType())|| Boolean.TYPE.equals(method.getReturnType())){
result = rowCount> 0;
} else {
throw new BindingException( "Mapper method '" + command.getName()+ "'には、サポートされていない戻り型があります:" + method.getReturnType());
}
結果を返します。
}

  Mybatisの戻り値は、実際にはjdbcのint型の戻り値の変換処理です。

 第二に、Mybatisの主要なキー取得方法

  1. jdbcの組み込みメソッドを内部で使用します。XMLファイルで設定し、useGeneratedKeysプロパティをtrueに選択タグに追加し、keyProperty:パラメータオブジェクトのプロパティ名を設定します。挿入が正常に完了すると、mybatisはリフレクションによって値を増やしますkeyPropertyに指定されたプロパティを設定します。

  2.挿入後の主キーを取得するクエリ:キーコードは、主にselectKeyタグのコードの一部を追加するためのxmlファイルのsqlの書き換えです。keyPropertyは、Beanオブジェクトにマップされたフィールドを構成します。オペレーション。

  SELECT LAST_INSERT_ID():レコードに挿入されたばかりの主キーの値を取得します自己インクリメントする主キーにのみ適用されます

<insert id = "insert" parameterType = "entity.TUser"> 
    <selectKey keyProperty = "id" order = "AFTER" resultType = "java.lang.Long"> 
      SELECT LAST_INSERT_ID()
     </ selectKey> 
    insert into t_user( ` name`、age、salary、
      sex)
    values(#{name、jdbcType = VARCHAR}、#{age、jdbcType = SMALLINT}、#{salary、jdbcType = DECIMAL}、
      #{sex、jdbcType = TINYINT})
   </挿入>

  3.挿入する前に主キーを取得するクエリ:xmlのSQLステートメントは2番目のケースに似ています。キーコードもselectKey部分のステートメントであり、select部分はカスタム関数で置き換える必要があります。Last_insert_idは使用できません。

  last_insert_idは、自己増加型の主キーがある場合にのみ使用できます。挿入前の主キーのクエリは、自己増加型の主キーではない場合に適用できます。どちらも、同時実行性が高い場合に問題があります。

おすすめ

転載: www.cnblogs.com/8593l/p/12705088.html