使用MyBatis查询时属性名和字段名不一致如何解决-创新互联

今天就跟大家聊聊有关使用MyBatis查询时属性名和字段名不一致如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

十载专注成都网站制作,成都企业网站定制,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于成都企业网站定制,高端网页制作,对阳台护栏等多个行业,拥有丰富的网站营销经验。

问题

当我们数据库中的字段和实体类中的字段不一致的时候,查询会出问题

数据库字段是 pwd

id name pwd
1 张三 123456
2 李四 123456
3 王五 123456
4 赵六 123456

实体类字段是 password

public class User {
 private int id;
 private String name;
 private String password;
}

查出来结果发现, password 是 null

User{id=1, name='张三', password='null'}
User{id=2, name='李四', password='null'}
User{id=3, name='王五', password='null'}
User{id=4, name='赵六', password='null'}

原因是类型处理器

select * from user
// 类型处理器:我们查询 select * 实际是查询 select id,name,pwd
select id,name,pwd from user

解决办法

  • resultMap:结果集映射

  • sql起别名


select id,name,pwd as password from user

解决方案:resultMap

结果集映射:/tupian/20230522/sqlmap-xml.html>

  • resultMap 元素是 MyBatis 中最重要最强大的元素

  • ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了

  • 我们只需要在Mapper.xml 中加入结果集映射即可,且只加需要映射的字段即可

    
     
     
      
      
     
    
     
      select * from users
     
    

    看完上述内容,你们对使用MyBatis查询时属性名和字段名不一致如何解决有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


    本文名称:使用MyBatis查询时属性名和字段名不一致如何解决-创新互联
    标题链接:http://scyanting.com/article/dgjsci.html