mybatis 解决属性名和字段名不一致的问题


1.问题:

数据库字段和实体类字段名称不同,导致有些字段无法映射:User{id=1, name=’zsq’, password=’null’}

select * from `user` where id = #{uid}
select id,name,psw from `user` where id = #{uid}

解决办法:给对应字段添加别名

  <select id="getOneUserById" parameterType="int" resultType="User">
       select id,name,pws as password  from `user` where id = #{uid}
   </select>

User{id=1, name=’zsq’, password=’123456′}

2. 结果映射 resultMap

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


   <resultMap id="userResultMap" type="user">
       <!--column:对应数据库字段名称,property:对应实体类字段名称-->
       <id column="id" property="id"/>
       <result column="name" property="name"/>
       <result column="pws" property="password"/>

   </resultMap>

   <select id="getOneUserById" parameterType="int" resultMap="userResultMap">
      select * from `user` where id = #{uid}
   </select>

User{id=1, name=’zsq’, password=’123456′}

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/289029.html

(0)
上一篇 2022年9月12日
下一篇 2022年9月12日

相关推荐

发表回复

登录后才能评论