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

数据库中的字段

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 的设计思维是,对简略的语句做到零配置,对于简单一点的语句,只须要形容语句之间的关系就行了。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理