Comment résoudre le problème d'incohérence entre le nom d'attribut Mybatis et le nom de champ

Annuaire

Description du problème

Méthode 1: alias dans l'instruction SQL

Méthode 2: resultMap


 

Description du problème

 

Que faire si les champs de la base de données et les attributs de la classe d'entités sont incohérents?

 

 

 

Méthode 1: alias dans l'instruction SQL

 

Le nom d'alias semble parfait, mais s'il y a beaucoup de champs aliasés, l'instruction SQL sera très gonflée

select id,name,pwd from mybatis.user where id = #{id}

 

 

Méthode 2: resultMap

 

Dans le fichier Mapper.xml spécifique, ajoutez la balise resultMap. C'est en fait très flexible. Par exemple, je n'ai que pwd! = Password, donc il n'est pas nécessaire de mapper d'autres champs.

Cette approche transfère les opérations non essentielles en SQL vers la balise <resultMap>. Cependant, si vous vérifiez 5 tableaux sur 5 entités, <resultMap> sera très gonflé et le plan d'optimisation sera partagé dans un blog

<!--结果集映射-->
<resultMap id="UserMap" type="User">
    <!--column数据库中的字段,property实体类中的属性-->
    <result column="pwd" property="password"/>
</resultMap>

<select id="getUserById" resultMap="UserMap">
    select * from user where id = #{id}
</select>

 

 

Publié 568 articles originaux · Comme 180 · Visites 180 000+

Je suppose que tu aimes

Origine blog.csdn.net/Delicious_Life/article/details/105651721
conseillé
Classement