
结论resultType与resultMap都可以用于接收mybatisplus中select的查询结果resultType适合接收简单的查询结果集而resultMap则可以胜任接收复杂的查询结果集resultTyperesultType属性可以指定一个JavaBean这个JavaBean的属性名与查询结果的列名相对应MyBatis可以自动为每个属性注入对应的值从而构建一个完整的JavaBean对象作为查询结果。例如selectidselectUserByIdresultTypecom.example.UserSELECT * FROM user WHERE id #{id}/select这里的resultType指定了查询结果是一个com.example.User对象而每个User对象的属性会依次与查询结果的列名相对应。resultMapresultMap则更加灵活能够实现复杂的结果映射。在resultMap中我们可以通过定义标签来明确指定如何将查询结果的列映射到JavaBean的属性上可以进行任意的转换和计算操作。例如resultMapiduserMaptypecom.example.Userresultpropertyidcolumnuser_id/resultpropertynamecolumnuser_name/resultpropertyagecolumnuser_age/resultpropertyaddresscolumnuser_address/resultpropertyphonecolumnuser_phonejdbcTypeVARCHARjavaTypecom.example.PhoneNumberselectselectPhoneNumberById//resultMapselectidselectUserresultMapuserMapSELECT user_id, user_name, user_age, user_address, user_phone FROM users WHERE id #{id}/select这里的resultMap中除了基本的属性映射之外Phone字段还使用了自定义的类型转换方式并调用了selectPhoneNumberById方法进行属性的填充。综上所述resultType和resultMap都是用于MyBatis结果集类型映射的属性。其中resultType适用于简单的结果映射而resultMap则更加灵活可以实现任何复杂的结果映射。