Mybatis(解决属性名和字段名不一致的问题)

5、Mybatis(解决属性名和字段名不一致的问题)

我们从数据库中取到的数据都会交给实体类,然后从实体类中拿到数据并操作数据,所以如果我们数据库中的字段要是和实体类中的属性不一致的话,我们就从实体类中无法得到我们想要的一些数据

解决方法:

  • 起别名【不推荐】因为要是字段非常多的话,就很不方便

就是在Mapper.xml文件中将字段全部写出来,并给想到的字段起别名

<mapper namespace="com.kuang.dao.UserMapper">
    <select id="getUserList" resultType="User">
        select id,name,pwd as password from mybatis.user
    </select>
</mapper>
  • resultMap【推荐使用】

我们只需要在Mapper.xml文件中加入resultMap,设置column和property使得数据传输一致

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kuang.dao.UserMapper">
    <!--结果集映射-->
    <resultMap id="userMap" type="User">
        <result column="pwd" property="password"/>
    </resultMap>
    <select id="getUserList" resultMap="userMap">
        select * from mybatis.user
    </select>
</mapper>
  • resultMap元素是MyBatis中最重要最强大的元素
  • resultMap的设计思想是,对于简单的语句根本不需要配置显示的结果映射,而对于复杂一点的语句只需要描述他们的关系就行了
  • resultMap最优秀的地方在于,虽然你已经对他相当了解了,但是就根本不需要显示的用到他们

posted on 2022-01-12 16:06  汪汪程序员  阅读(557)  评论(0编辑  收藏  举报

导航