A .ResultMap
- 問題:一貫性のない属性名とフィールド名
1.ケース:ヌルの問題のためのクエリ
データベース:
エンティティクラス:
結果:パスワード= 'NULL'
2.ソリューション
(1)方式:列名の指定同じエイリアス、Javaのエンティティクラスと属性名。 PwdのパスワードAS
1 <! - 根据ID查询用户- > 2 < 選択のid = "getUserById" のParameterType = "int型" resultTypeと= "ユーザー" > 3 。SELECT ID、名前、ID =#{ID mybatis.userからパスワードとしてPWD } 4 </ 選択>
(2)オプションII:結果セットマッピングを使用して、 - >このresultMap(推奨)
- タグ、データベース、対応関係プロパティエンティティクラス属性名の列名に設定列を追加このresultMap、同じことは省略してもよいです
- resultTypeとは、このresultMapを変更し、その値はユーザマップに割り当てられています
1 <resultMap id="UserMap" type="User"> 2 <!-- column是数据库表的列名 , property是对应实体类的属性名 --> 3 <!--<id column="id" property="id"/>--> 4 <!--<result column="name" property="name"/>--> 5 <result column="pwd" property="password"/> 6 </resultMap> 7 8 <!--根据ID查询用户--> 9 <select id="getUserById" parameterType="int" resultMap="UserMap"> 10 select * from mybatis.user where id=#{id} 11 </select>
3.resultMap中还有大量的属性之后再研究