首页
学习
活动
专区
工具
TVP
发布

resultType与resultMap

今天碰到一个问题,在启动工程的时候某个mybatis生成的Mapper.xml文件报“Could not find result map java.lang.String”。对照着这个文件检查了好久也没有查到原因。结果同事在另一个Mapper.xml文件找到了这么一句代码:

resultMap="java.lang.String"

随手一查,因为报错信息的不准确,很多人在这个问题上浪费了不少时间。

通过mybatis进行查询时,返回方式可以有两种:resultType和resultMap。两者在使用上有一定的区别。

resultType:如果只有单个返回值的查询可以直接定义返回值的类型如String、int等。如果返回的是多列数据,则可以使用Map或POJO(Plain Ordinary Java Object 简单的Java对象)接收返回值。结果对象是Map,则键是数据库的属性名;用POJO映射,则POJO的属性要与数据库属性名称一致,否则将无法映射。

resultMap:当POJO的属性无法与查询结果的列名一一对应时,可以使用resultMap定义对应关系。只要在Mapper.xml中加入映射的定义即可。这种方式也适用于复杂的连表查询,无论是一对一还是一对多都可以使用这种方式。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180201G1H89U00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券