乐趣区

关于后端:解决属性名和字段名不一致的问题

数据库中的字段

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

测试查出来 password 为 null

//select id,name,pwd from mybatis.user where id=#{id}

解决办法:

  • 起别名

    <select id="getUserById" resultType="com.jialidun.pojo.User">
      select id,name,pwd as password from mybatis.user where id=#{id}
    </select>

resultMap

后果集映射

id name pwd
id name password
<resultMap id="UserMap" type="User">
    <!--column 数据库中的字段,property 实体类中的属性 -->
    <result column="id" property="id"/>
    <result column="name" property="name"/>
    <result column="pwd" property="password"/>
</resultMap>
<select id="getUserById" resultMap="UserMap">
    select id,name,pwd from mybatis.user where id=#{id}
</select>
  • resultMap 元素是 MyBatis 中最重要最弱小的元素。
  • ResultMap 的设计思维是,对简略的语句做到零配置,对于简单一点的语句,只须要形容语句之间的关系就行了。
退出移动版