mybatis解决查询结果的字段名与实体类的属性不一致问题


mybatis解决查询结果的字段名与实体类的属性不一致问题

注意:当查询出来的字段名与实体类的属性名不一致的时候,实体类的属性是不会被赋值的,是默认值

1.通过字段别名来解决字段名和属性名的映射关系

属性名

private int eid;                --> 字段名不一致的实体类属性名
private String username;
private String password;
private int age;
private String sex;
private String email;

字段名

image-20220627153025527

id和eid是不一致的,可以通过给字段起一个别名的方式,使得在对实体类进行赋值的时候使用的是别名,别名只作用实体类赋值


 

2.全局配置

将下划线命名格式转成驼峰命名格式

如emp_name --> empName


 

注意:jdbc查询结果要返回给mybatis,实体类对象同样有jdbc生成,在这两个过程中,实体类属性和字段名都将有下划线命名转成驼峰

3.通过resultMap解决字段名和属性名的映射关系

mapper接口

List getAllEmp();

映射文件


 
 
 
 
 
 

resultMap="resultMapID"              表示使用结果映射,映射的id
      将查询结果与具体实体类进行关系映射
                            id标签表示主键的映射关系
            result标签表示普通字段的映射关系
property                                                        实体类的属性名
column                                                          查询结果的字段名