Trois méthodes de traitement lorsque les noms de champs dans la base de données et les noms d'attributs dans la classe d'entité ne peuvent pas correspondre un à un

Lorsque le nom de colonne du résultat de la requête ne correspond pas au nom d'attribut de l'objet Java, les méthodes suivantes doivent être utilisées pour le traitement :

        La première façon : utilisez le mot-clé "as" dans la requête pour alias la colonne

        La deuxième façon : utiliser le mappage des résultats resultMap

        La troisième méthode : activer le mappage automatique de la dénomination des bosses (paramètres de configuration)

Classe d'entité Voiture :

paquet com.bjpowernode.domain;

Voiture de classe publique {

    Identifiant entier privé ;

    chaîne privée carNum ;

    marque privée String;

    privé Double guidePrix;

    chaîne privée ProduceTime ;

    chaîne privée carType ;

//La méthode de construction est abrégée

//setter et getter 略

//toString légèrement

La table t_car dans la base de données :

Nous pouvons voir que les noms d'attributs dans la classe d'entité ne sont pas exactement les mêmes que les noms de champs dans la table de base de données et doivent être traités. Les trois méthodes de traitement sont les suivantes :

La première méthode : utilisez le mot-clé "as" pour alias la colonne dans l'instruction de requête , et l'alias doit être le nom d'attribut de la classe d'entité

<select id="selectById" resultType="com.powernode.mybatis.pojo.Car">

        sélectionner

            identifiant,

            car_num comme carNum,

            marque,

            guide_price comme guidePrice,

            Produce_time comme ProduceTime,

            car_type comme carType

        depuis

            t_car

        où

            identifiant = #{identifiant}

    </sélectionner>

La deuxième méthode : utilisez le mappage des résultats resultMap, comme suit :

<!--

 carte de résultats :

       id : est l'identifiant unique de ce mapping résultat,

       type : classe à laquelle le jeu de résultats est mappé (c'est-à-dire la classe d'entité correspondante). Des alias peuvent être utilisés.

-->

<resultMap id="carResultMap" type="voiture">

         <!-- id est l'identifiant unique de l'objet, afin d' améliorer les performances de mybatis. Il est recommandé d'écrire dessus. -->

         <id property="id" column="id"/>

         <result property="carNum" column="car_num"/>

         <!--Lorsque le nom de l'attribut est cohérent avec le nom de la colonne de la base de données, il peut être omis. Mais écrivez-le. -->

         <!--javaType est utilisé pour spécifier le type d'attribut. jdbcType est utilisé pour spécifier le type de colonne. Généralement, peut être omis. -->

         <result property="marque" column="marque" javaType="string" jdbcType="VARCHAR"/>

         <result property="guidePrice" column="guide_price"/>

         <result property="produceTime" column="produce_time"/>

         <result property="carType" column="car_type"/>

</resultMap>

<!--La valeur de l'attribut resultMap doit être cohérente avec la valeur de l'attribut id dans la balise resultMap. -->

<select id="selectAllByResultMap" resultMap="carResultMap">

        sélectionnez * dans t_car

</sélectionner>

La troisième méthode : activer le mappage automatique de la dénomination des bosses (paramètres de configuration)

Les prérequis pour utiliser cette méthode sont :

        Les noms d'attribut suivent les conventions de dénomination Java et les noms de colonnes des tables de base de données suivent les conventions de dénomination SQL.

Convention de dénomination Java :

        La première lettre est en majuscule et la première lettre de chaque mot suivant est en majuscule, conformément à la convention de dénomination des bosses.

Convention de dénomination SQL :

        Tous en minuscules, les mots sont séparés par des traits de soulignement.

Par exemple, les correspondances suivantes :

        Noms d'attribut dans les classes d'entités Noms de colonnes dans les tables de base de données

                numéro_car numéro_car

                Type de voiture type_voiture

                ProduceTime Produce_time

Pour activer cette fonction, vous devez configurer les éléments suivants dans le fichier mybatis-config.xml :

<!--Après la balise propriétés -->

<paramètres>

       <setting name="mapUnderscoreToCamelCase" value="true"/>

</paramètres>

Je suppose que tu aimes

Origine blog.csdn.net/heliuerya/article/details/131299340
conseillé
Classement