今天在写代码的时候突然遇到这么一个坑,报出来的问题还不提示类型不对,遂记录一下,记忆更加深刻
resultMap :当返回结果为自定义对象时使用
例一:resultMap 为自定义实体 对应关系
<resultMap id="BaseResultMap" type="com.test.model.Financial">
<result column="test_id" jdbcType="VARCHAR" property="testId" />
<result column="report_id" jdbcType="VARCHAR" property="reportId" />
<result column="bus_domain" jdbcType="VARCHAR" property="busDomain" />
</resultMap>
<select id="getFinancials" parameterType="java.lang.String" resultMap="BaseResultMap">
SELECT
*
FROM
financial
where report_id=#{ id}
</select>
例二 resultMap 为自定义实体 com.test.model.Financial
<select id="getFinancials" parameterType="java.lang.String" resultMap="com.test.model.Financial">
SELECT
*
FROM
mrs_business_financial
where report_id=#{ id}
</select>
resultType :当返回结果为jdk自带对象时使用 例如:java.util.Map、int、String
例如:
<select id="getFinancials" parameterType="java.lang.String" resultType ="int">
SELECTcount(*)
FROM
financial
</select>
parameterType与parameterMap的区别于resultMap与resultType的区别是一样的,
结论:
map是自定义的数据类型,type是jdk中有的数据类型