mybatisのmapper.xmlファイルを追加、削除、確認、変更します

1. Mybatisの動作原理

2.お問い合わせ

<select id="方法名" parameterType="方法参数类型" resultType="方法返回值类型,全类名" >
select 表中字段名 AS 结果字段名 from 表名 where 条件
<!--注意:结果字段名与属性名保持一致,区分大小写-->
</select>

3.挿入

<insert id="需要实现的接口里的方法名" parameterType="方法参数名,如果是对象,要写全类名">
insert into 表名 (字段1,字段2,...) values(#{参数1},#{参数2},...)
<!--注意属性名区分大小写-->
</insert>

4.変更

<update id="updateCustomer" parameterType="com.wang.po.Customer">
         update t_customer set username=#{username},jobs=#{jobs}
         ,phone=#{phone} where id=#{id}
</update>

5.削除

 <delete id="deleteCustomer" parameterType="Integer">
        delete from t_customer where id=#{id}
    </delete>

6.resultType分析(最初に書いたときにこの問題が発生しました)

1.基本タイプ:resultType =基本タイプ

2.リストタイプ:resultType =リスト内の要素のタイプ

3.mapタイプ:単一レコード:resultType = map

                        複数のレコード=マップの値のタイプ

4.オブジェクトタイプ:resultType =オブジェクトの完全なクラス名

7.パラメータ処理

1.単一のパラメーター:値に#{パラメーター名}を直接使用します。mybatisには特別な処理はありません。パラメーター名は何気なく書くことができます

2.複数のパラメータ:#{parameter}、#{param2}を使用して値を取得します

3.名前付きパラメーター:@param( "key")を使用してパッケージマップでキーを指定すると、#{key}を介してパラメーター値を取得できます

4. POJO:複数のパラメーターがたまたまビジネスモデルである場合は、この時点でビジネスモデルを渡すことができます。#{プロパティ名}を介して値を取得できます。

5.マップ:複数のパラメーターがビジネスモデルではなく、頻繁に使用されない場合は、マップをカスタマイズして渡すことができます

6. TO:複数のパラメーターがビジネスモデルではなく、頻繁に使用される場合、TOをカスタマイズしてオブジェクトを転送できます。

リファレンス:mybatis-parameter processing

8.#{}と$ {}の違い

1.#{}はプリコンパイルプロセスであり、$ {}は文字列の置換です。

2. Mybatisが#{}を処理しているとき、SQLの#{}をa?に置き換え、PreparedStatementのsetメソッドを呼び出して値を割り当てます。

3. Mybatisが$ {}を処理すると、$ {}が変数の値に置き換えられます。

4.#{}を使用すると、SQLインジェクションを効果的に防ぎ、システムのセキュリティを向上させることができます。

元の記事を30件公開 Like1 Visits1158

おすすめ

転載: blog.csdn.net/chunchunlaila/article/details/104757404
おすすめ