recherche

Maison  >  Questions et réponses  >  le corps du texte

java - Requête de version d'annotation mybatis intégrée au Spring Boot

-spring boot intègre mybatis à l'aide d'annotations.
spring boot et mybatis ont été intégrés normalement. Les annotations sont utilisées lors de l'utilisation de requêtes (le projet n'a aucun fichier XML)

.
@Mapper
@Table(name = "t_user")
public interface UserMapper {

    @Select("select * from t_user where user_id = #{id}")
      public User findUserById(@Param("id") String id);
}

Je ne sais pas pourquoi de cette façon, seuls quelques attributs seront remplis de valeurs, et les résultats des autres requêtes d'attributs sont tous nuls

Mais si j'écris

 @Results({
 @Result(column = "user_id",property = "userId"),
            @Result(column = "username",property = "username"),
            @Result(column = "pass",property = "pass"),
            @Result(column = "phone_number",property = "phoneNumber")
})

Ce sera tout à fait correct, chaque attribut a une valeur
Question 1 : Pourquoi certains attributs ont-ils une valeur et certains attributs n'ont aucune valeur ?
Question 2 : Je ne peux pas écrire toutes les requêtes comme celle-ci, car il y aura beaucoup de duplications@Result部分,有没有注解将其在内部进行对应关系实现,不需要每次都写@ Result ?

曾经蜡笔没有小新曾经蜡笔没有小新2753 Il y a quelques jours1210

répondre à tous(2)je répondrai

  • 世界只因有你

    世界只因有你2017-06-23 09:16:41

    Question 1. Parce que la colonne du jeu de résultats ne correspond pas à la propriété du Bean, bien sûr elle sera nulle.

    Question 2. Vous pouvez utiliser des alias dans SQL pour faire correspondre la colonne et la propriété, afin que la question 1 ne se produise pas.

    répondre
    0
  • 漂亮男人

    漂亮男人2017-06-23 09:16:41

    Pour la question 1, étant donné que les champs de la base de données sont séparés par des traits de soulignement et que les champs du bean sont nommés en casse chameau, comme user_name et userName, il ne peut pas y avoir de correspondance

    Si vous le configurez via un fichier XML, il vous suffit d'activer la conversion de dénomination de cas de chameau

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

    yml C'est probablement comme ça

    mybatis:
      configuration:
        map-underscore-to-camel-case: true

    répondre
    0
  • Annulerrépondre