使用mybatis,有两个属性标签<resultType>,<resultMap>可以提供结果映射。
虽然resultType 属性在大部分情况下都够用,但是在一些特殊情况下无能为力,比如属性名和列名不一致,为一些连接的复杂语句编写映射代码。
遇到这些情况,我们要使用<resultMap>标签。
User类
public class User {
private int id;
private String username;
private String gender;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
'}';
}
}
数据库表
可以看到类名和字段名不一致,这时候就需要我们手动配置一下
id:此属性表示查询结果集的唯一标识,非常重要。如果是多个字段为复合唯一约束则定义多个
property:User中的字段名
Column:数据库中的列名
测试