MyBatis查询时属性名和字段名不一致问题的解决方法

网友投稿 280 2022-11-06


MyBatis查询时属性名和字段名不一致问题的解决方法

问题

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

数据库字段是 pwd

id name pwd

1 张三 123456

2 李四 123456

3 王五 123456

4 赵六 123456

实体QspKpNTTZv类字段是 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

结果集映射:https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#Result_Maps

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

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

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

&lhttp://t;!--column: 对应数据库中的字段, property: 对应实体类中的属性-->

select * from users

总结


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【Ubuntu】VM虚拟机_Ubuntu系统安装
下一篇:【Ubuntu】常用命令使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~