mybatis- Cannot cast from List<Object> to List<Professor>

问题描述

Cannot cast from List<Object> to List<Professor>

一个简单的Spring mvc mybatis框架的CRUD实例。但是下面DAOIMPL里面代码报错,改不了首先interface IProfessorDao写了
public List findAll();

然后IProfessorDaoImpl里面下面方法报错

public List findAll()

{

// TODO Auto-generated method stub

String sql = this.getStatementId(Professor.class, SELECTALL);

List list = (List)sqlSession.selectList(sql);
return list;

}
其中(List)sqlSession.selectList(sql); 这里提示 Cannot cast from List to List
SQLMAPPER设置也没有问题,代码如下

select * from ALL_EXP_LIST_TBL ;

求助怎么解决

解决方案

可以改成List list = (List)sqlSession.selectList(sql);试试,List是转换不成List的

解决方案二:

解决方案三:

可以改成List《Professor》 list = (List《Professor》)sqlSession.selectList(sql);试试,List《Professor》是转换不成List《Object》的

时间: 2024-09-19 11:48:03

mybatis- Cannot cast from List&amp;lt;Object&amp;gt; to List&amp;lt;Professor&amp;gt;的相关文章

java集合的缺点:类型未知

使用Java集合的"缺点"是在将对象置入一个集合时丢失了类型信息.之所以会发生这种情况,是由于当初编写集合时,那个集合的程序员根本不知道用户到底想把什么类型置入集合.若指示某个集合只允许特定的类型,会妨碍它成为一个"常规用途"的工具,为用户带来麻烦.为解决这个问题,集合实际容纳的是类型为Object的一些对象的句柄.这种类型当然代表Java中的所有对象,因为它是所有类的根.当然,也要注意这并不包括基本数据类型,因为它们并不是从"任何东西"继承来的

C#:异步编程和线程的使用(.NET 4.5 )

  异步编程和线程处理是并发或并行编程非常重要的功能特征.为了实现异步编程,可使用线程也可以不用.将异步与线程同时讲,将有助于我们更好的理解它们的特征.   本文中涉及关键知识点   1. 异步编程 2. 线程的使用 3. 基于任务的异步模式 4. 并行编程 5. 总结   异步编程   什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程.通常情况下,C#程序从Main方法开始,当Main方法返回时结束.所有的操作都是按顺序执行的.执行操作是有序列的,一个操作必须等到

泛型&amp;amp;lt;T&amp;amp;gt;的转换问题

问题描述 在问答里提问,没有得到答案,特开此贴讨论.代码如下: public class Cast { public static <T> T cast(Object o){ return (T)o; } public static void main(String[] args){ Object o =new Bird(); Bird b=Cast.cast(o); //cast方法上的Doc提示:<Bird> Bird Cast.cast(Object o) Cast.cast

C# Tutorial - Simple Threaded TCP Server

In this tutorial I'm going to show you how to build a threaded tcp server with C#. If you've ever worked with Window's sockets, you know how difficult this can sometimes be. However, thanks to the .NET framework, making one is a lot easier than it us

C#:异步编程和线程的使用(.NET 4.5 )

异步编程和线程处理是并发或并行编程非常重要的功能特征.为了实现异步编程,可使用线程也可以不用.将异步与线程同时讲,将有助于我们更好的理解它们的特征. 本文中涉及关键知识点 1. 异步编程 2. 线程的使用 3. 基于任务的异步模式 4. 并行编程 5. 总结 异步编程 什么是异步操作?异步操作是指某些操作能够独立运行,不依赖主流程或主其他处理流程.通常情况下,C#程序从Main方法开始,当Main方法返回时结束.所有的操作都是按顺序执行的.执行操作是有序列的,一个操作必须等到其前面的操作完成才能

警告-Type safety: Unchecked cast from Object to List&amp;amp;lt;Blog&amp;amp;gt; 大家讨论一下!

问题描述 Type safety: Unchecked cast from Object to List<Blog> 大家讨论一下! 先看这个警告出现的代码吧: Message message = new Message(); message.obj = bos; handler.sendMessage(message);` 这是在一个线程里发送信息到主线程.下面在主线程进行强转: mList.addAll((List) msg.obj); 这样转的时候会出现上面的警告,在网上找到了几个方法方

Hibernate中HQL语句查询指定字段值报错:ClassCastException: [java.lang.Object; cannot be cast to bean.PersonStatic

在有一次通过如下HQL语句进行查找相应字段时: String hql = "select sum(search),sum(geometry),sum(greedy), sum(graph),sum(number),sum(simulate),sum(combine),sum(structure) from PersonStatis ps where ps.ps_date>=? and ps.ps_date<?"; 通过Query中的方法list()返回一个List对象. 但

对象-String cannot be cast to [Ljava.lang.Object

问题描述 String cannot be cast to [Ljava.lang.Object Object[] againstObj = (Object[])anaginstList.get(0); anaginstList.get(0) 是一个List 取得List的第一个对象. 把这个对象转为Object数组.然后就报异常 java.lang.String cannot be cast to [Ljava.lang.Object; 解决方案 解释: 这个错误是很常见的错误,错误的提示已经

Mybatis 如何 返回 List&amp;amp;lt;String&amp;amp;gt; 类型 或 List&amp;amp;lt;Map&amp;amp;lt;String,Object&amp;amp;gt;&amp;amp;gt;类型

问题描述 求助Mybatis如何返回List<String>类型或List<Map<String,Object>>类型 解决方案 解决方案二:XML里面resutType="String",接口返回List<String>不行吗?解决方案三:楼上说得对,如果返回List<String>,resultType="String"就可以了,如果需要返回List<Map<String,Object>