MyBatis之java.lang.UnsupportedOperationException异常解决方案

今天在使用MyBatis执行sql语句时,出现如下异常:

执行的sql语句配置信息如下:

<select id="getColumnsByTableName" parameterType="String" resultType="java.util.List">
    select t.column_name from user_tab_columns t where t.tableName=#{tableName,jdbcType=VARCHAR}
</select>

对应的dao接口代码为:

public List<String> getColumnsByTableName(String tableName);

应该改为:

<select id="getColumnsByTableName" parameterType="String" resultType="String">      
    select t.column_name from user_tab_columns t where t.tableName=#{tableName,jdbcType=VARCHAR}
</select>

原因就在于resultType代表的是List中的元素类型,而不应该是List本身,究其原因就在于被dao中的方法声明

public List getColumnsByTableName(String tableName);

给迷惑住了

切记:resultType返回的是集合中的元素类型,而不是集合本身

上一篇 MyBatis根据List批量查询List结果
下一篇 Spring Boot中MyBatis打印sql
目录
文章列表
1 vim配置及快捷键
vim配置及快捷键
2
ElasticSearch High Level REST API(2)搜索查询
ElasticSearch High Level REST API(2)搜索查询
3
Swift - class与staitc关键字的区别与使用(类方法、静态方法)
Swift - class与staitc关键字的区别与使用(类方法、静态方法)
4
RecyclerView操作数据及添加分割线
RecyclerView操作数据及添加分割线
5
MySQL Explain详解
MySQL Explain详解
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。