Maison > Questions et réponses > le corps du texte
-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
?
世界只因有你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.
漂亮男人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