今天在使用MyBatis執行sql語句時,出現以下異常:html
執行的sql語句配置信息以下:java
<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>sql
對應的dao接口代碼爲:spa
public List<String> getColumnsByTableName(String tableName);.net
應該改成:xml
<select id="getColumnsByTableName" parameterType="String" resultType="String"> select t.column_name from user_tab_columns t where t.tableName=#{tableName,jdbcType=VARCHAR}</select>htm
緣由就在於resultType表明的是List中的元素類型,而不該該是List自己,究其緣由就在於被dao中的方法聲明(標紅出)blog
public List<String> getColumnsByTableName(String tableName);接口
給迷惑住了ip
切記:resultType返回的是集合中的元素類型,而不是集合自己