mybatisresultMapの結果マップ

参照シーン

  • エンティティクラスの属性名がデータベースのフィールド名と異なる場合、結果をマッピングに使用できます
  • マルチテーブルクエリでは、マッピングを確立してデータベース操作を簡素化できます
  • さらに、属性名とフィールド名の不一致の問題を解決するために、sqlステートメントのエイリアスとして使用することもできます(より面倒です)

属性名とフィールド名が一致しません(通常、テーブルを検索するときに無視するのは簡単です)

MyBatisは、舞台裏でResultMapを自動的に作成し、プロパティ名に基づいてJavaBeanのプロパティにマップします。列名と属性名が一致しない場合は、SELECT
ここに写真の説明を挿入
ここに写真の説明を挿入
ステートメントで列エイリアスマッパーマッピングステートメントを設定できます。

<select id="getUsers" resultType="com.LinXiaoDe.pojo.User">
    select * from mybatis_db.user_t
</select>

この場合、不一致があり、pwdとpasswordが一致せず、結果は空です。
ここに写真の説明を挿入

解決策1:sqlステートメントのマッピングとして使用する


<select id="getUsers" resultType="com.LinXiaoDe.pojo.User">
    select * from mybatis_db.user_t
</select>

------------->

<select id="getUsers" resultType="com.LinXiaoDe.pojo.User">
    select id,userName,password as pwd from mybatis_db.user_t
</select>

解決策2:resultMapマッピング

resultMap要素は、MyBatisで最も重要で強力な要素です。これにより、JDBC ResultSetsデータ抽出コードの90%から解放され、場合によっては、JDBCがサポートしていない操作を実行できるようになります。ResultMapの設計アイデアは、単純なステートメントの構成をゼロにすることであり、より複雑なステートメントの場合は、ステートメント間の関係のみを記述する必要があります。

  • 将来的には、データベースの名前は一般的に下線が引かれます
 <resultMap id="getUserResultMap" type="com.LinXiaoDe.pojo.User">
     <id property="id" column="id"/>
     <id property="userName" column="userName"/>
     <id property="pwd" column="password"/>
 </resultMap>
 <select id="getUsers" resultMap="getUserResultMap">
     select id,userName,password from mybatis_db.user_t
 </select>

ここに写真の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44307065/article/details/108033884