org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.UnsupportedOperationException ### The error may exist in test/myproj/mapper/BlogMapper.java (best guess) ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: select * from blog ### Cause: java.lang.UnsupportedOperationException at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95) at org.apache.ibatis.binding.MapperMethod.executeForMany(MapperMethod.java:124) at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:90) at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:40) at $Proxy8.selectAll(Unknown Source) at test.myproj.MyMvnTest.MvnTest.doMain(MvnTest.java:40) at test.myproj.MyMvnTest.MvnTest.main(MvnTest.java:23) Caused by: java.lang.UnsupportedOperationException at org.apache.ibatis.reflection.wrapper.CollectionWrapper.set(CollectionWrapper.java:38) at org.apache.ibatis.reflection.MetaObject.setValue(MetaObject.java:140) at org.apache.ibatis.executor.resultset.FastResultSetHandler.applyPropertyMappings(FastResultSetHandler.java:299) at org.apache.ibatis.executor.resultset.FastResultSetHandler.getRowValue(FastResultSetHandler.java:264) at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleRowValues(FastResultSetHandler.java:214) at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSet(FastResultSetHandler.java:186) at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSets(FastResultSetHandler.java:152) at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:57) at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:70) at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:57) at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267) at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:141) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:105) at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:81) at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:101) ... 7 more
这是用注释写的一个测试程序,但是出了这样的错误,错误的原因很简单是因为返回的List(红色标注)中没有指定泛型对象。
package test.myproj.mapper; import java.util.List; import org.apache.ibatis.annotations.Result; import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.Select; import test.myproj.model.Blog; public interface BlogMapper { @Select("select * from blog") @Results({ @Result(property="id", column="id"), @Result(property="title", column="title"), @Result(property="content", column="content") }) List<Blog> selectAll(); }
浙公网安备 33010602011771号