Mybatis 查询返回List<String>集合报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis 查询返回List<String>集合报错相关的知识,希望对你有一定的参考价值。

参考技术A 一、问题描述
在mybatis的xml配置文件中配置select后,查询报错:
Result type not match…或
Result Maps collection does not contain value for java.lang.String或
Could not find result map java.lang.String等异常。

二、问题原因
1、在dao.xml文件中返回值定义为 resultType=“java.util.List” ,则dao层会报错,提示Result type not match…;

2、.xml文件中的resultMap设置成了基础数据类型(String,Integer,Double等),例如: resultMap="java.lang.String"

三、解决方法
将resultMap="java.lang.String"修改成resultType="java.lang.String" 即可。

它们之间的区别可查看以下文章:
Mybatis中的resultType和resultMap的区别

Mybatis 查询返回List<String>集合

一、错误写法,如下:

1、在dao.xml文件中返回值定义为 resultType=“java.util.List” 。

在这里插入图片描述
2、dao层会报错,提示Result type not match…
在这里插入图片描述

二、正确写法

1、在dao.xml文件中返回值定义为 resultType=“java.lang.String” 。

在这里插入图片描述
2、dao层报错消失

在这里插入图片描述

三、报错原因

  • resultType是sql映射文件中定义返回值类型,返回值有基本类型,对象类型,List类型,Map类型等。
  • 返回List集合时,需要将resultType的值定义为集合中元素类型,而不是返回集合本身。

以上是关于Mybatis 查询返回List<String>集合报错的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis 查询返回List<String>集合报错

Mybatis 查询返回List<String>集合

mybatis里怎么获取传进去的map集合中的key

mybatis selectone 返回为空的问题

mybatis 查询数据库返回值某字段是 List 该怎么搞?

mybatis 如何获取返回的条数