Java教程

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

本文主要是介绍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'}

这篇关于mybatis 解决属性名和字段名不一致的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!