mybatis结果集映射(resultMap属性)
-
【官方声明】
resultMap
元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBCResultSets
数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份resultMap
能够代替实现同等功能的数千行代码。ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。 -
【数据库字段】与【类属性字段】存在以下两种情况
- 命名相同:返回对应字段值
- 命名不相同:将导致查询不到指定字段值,返回'null'
-
解决【数据库字段】与【类属性字段】不相同
-
SQL语句中实现字段别名
- 【官方示例】
-
mapper映射器中<resultMap>标签绑定
-
【官方实例】
-
-
-
修改mapper映射器 【UsersMapper】
```xml <?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.camemax.dao.UsersMapper"> <!-- 查询指定用户信息 --> <resultMap id="resultMapUser" type="users"> <!-- 类属性【userId】映射为数据库中的【id】字段 --> <id property="userId" column="id"/> <!-- 类属性【userName】映射为数据库中的【name】字段 --> <result property="userName" column="name" /> <!-- 类属性【userPasswd】映射为数据库中的【password】字段 --> <result property="userPasswd" column="password" /> </resultMap> <!-- 【resultMap】属性指向<resultMap>标签 --> <select id="getUserInfoByUserId" resultType="users" parameterType="_int" resultMap="resultMapUser"> select * from mybatis.users where id = #{id} </select> </mapper> ```
本文来自博客园,作者:Cn_FallTime,转载请注明原文链接:https://www.cnblogs.com/CnFallTime/p/16023135.html