mybatis报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exception-阿里云开发者社区

开发者社区> 强心剂> 正文

mybatis报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exception

简介: 接口配置: package mybatis.mapper; import java.util.List; public interface TestMapper { public List selectAllInfo(); } mapper.
+关注继续查看

接口配置:

package mybatis.mapper;

import java.util.List;

public interface TestMapper {
	public List<String> selectAllInfo();
}

mapper.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="mybatis.mapper.TestMapper">

  <select id="selectAllInfo" resultType="java.util.List">
    SELECT
          ID
    FROM TEST
  </select>

</mapper>

在使用junit测试时出现以下错误:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.UnsupportedOperationException
### The error may exist in mybatis/mapper/TestMapper.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT           ID     FROM TEST
### Cause: java.lang.UnsupportedOperationException

大致意思就是设置的参数有问题。

问题原因:

原因就在于mapper.xml的resultType代表的是List中的元素类型,而不应该是List本身,所以修改mapper.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="mybatis.mapper.TestMapper">

  <select id="selectAllInfo" resultType="java.lang.String">
    SELECT
          ID
    FROM TEST
  </select>

</mapper>








版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
tomcat启动报错org.apache.catalina.core.StandardContext listenerStart
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/72236633 tomcat启动报错: org.
3849 0
mysql 高版本jdbc驱动程序使用PreparedStatement.setBinaryStream方法报错及解决办法
mysql 高于版本jdbc驱动程序 使用PreparedStatement.setBinaryStream方法报错及解决办法。 mysql 使用以下版本驱动程序 在PreparedStatement中执行setBinaryStream方法时报错误: mysql-connector-java-5.
1023 0
【JUnit 报错】java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Message
使用JUnit的时候,报错:java.lang.NoClassDefFoundError: org/apache/logging/log4j/message/Message 原因是因为项目中导入的架包有冲突: 只留下中间的log4j-1.2.17.jar,上下的两个都不要了。
1264 0
Hive报错:Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
应用场景 搭建了hadoop伪分布式集群,并且在其上搭建了hive环境,hive运行报HiveMetaStoreClient错误。
1738 0
Linux启动报错missing operating system
用UltraISO制作了一个Red Hat Enterprise Linux Server release 5.7系统的U盘启动盘,然后在一台PC上安装,由于安装过程中在干别的事情,有些选项没有细看。
1305 0
解决java写入xml报错org.w3c.dom.DOMException:DOM002 Illeg
Exception is -- > org.w3c.dom.DOMException: DOM002 Illegal character 字符不被允许 org.w3c.dom.DOMException: DOM002 Illegal character         at org.
965 0
【web.xml】报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
今天搭建新的项目,虽然在web.xml中配置了ContextLoaderListener以及IntrospectorCleanupListener 如下: web.xml中部分代码: 1 2 3 org.
1880 0
【maven】ecplise新建maven项目 报错Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin
在ecplise上新建maven项目 报错: Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.
2366 0
+关注
强心剂
陷入IT的深坑
40
文章
4
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载