来看下面一个案例(数据库列名和实体类中属性不一致这种情况)
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qi.dao.UserMapper">
<!--结果集映射-->
<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 * from mybatis.user where id=#{id};
</select>
</mapper>
这样可以做到数据库列名和实体类中属性一一对应
夸张的说:resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来。在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的长达数千行的代码
ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
所以说,简单的不用,难的用它就对了!
博客介绍了数据库列名和实体类属性不一致的案例,强调MyBatis中ResultMap元素的重要性和强大功能。它能让开发者从大量JDBC数据提取代码中解放出来,简单语句无需显式配置结果映射,复杂语句描述关系即可。
2095

被折叠的 条评论
为什么被折叠?



