`

java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.xxx.doma

阅读更多

用junit测试dao层和services层的时候,报出如下错误:

 

java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.xxx.domain.business.ModelTest
 at com.xxx.dao.business.ModelTestDAOImpl.selectModelTestDetailByPrimaryKey(ModelTestDAOImpl.java:197)
 at com.xxx.dao.business.ModelTestDAOImpl$$FastClassByCGLIB$$92b6c874.invoke(<generated>)
 at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
 at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
 at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
 at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
 at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
 at com.xxx.dao.business.ModelTestDAOImpl$$EnhancerByCGLIB$$5448ecda.selectModelTestDetailByPrimaryKey(<generated>)
 at com.xxx.services.business.ModelTestImpl.queryModelTest(ModelTestImpl.java:98)
 at com.test.services.business.TestModelTestImpl.saveModelTest(TestModelTestImpl.java:77)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.springframework.test.context.junit4.SpringTestMethod.invoke(SpringTestMethod.java:163)
 at org.springframework.test.context.junit4.SpringMethodRoadie.runTestMethod(SpringMethodRoadie.java:233)
 at org.springframework.test.context.junit4.SpringMethodRoadie$RunBeforesThenTestThenAfters.run(SpringMethodRoadie.java:333)
 at org.springframework.test.context.junit4.SpringMethodRoadie.runWithRepetitions(SpringMethodRoadie.java:217)
 at org.springframework.test.context.junit4.SpringMethodRoadie.runTest(SpringMethodRoadie.java:197)
 at org.springframework.test.context.junit4.SpringMethodRoadie.run(SpringMethodRoadie.java:143)
 at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:142)
 at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
 at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
 at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
 at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
 at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

 

 

问题出在:

public class ModelTestDAOImpl extends SqlMapClientDaoSupport implements ModelTestDAO {

 

 @Override
 public ModelTest selectModelTestDetailByPrimaryKey( Long modelTestId ) {
  ModelTest key = new ModelTest();
  key.setModelTestId( modelTestId );  
  ModelTest record = (ModelTest)getSqlMapClientTemplate().queryForList( "Q_MODEL_TEST.ibatorgenerated_selectDetailByPrimaryKey", key );
  return record;
 }

 
}

 

queryForList 返回的是List,cannot be cast to ModelTest 把 queryForList 改为 queryForObject即可!

下次小心点~

分享到:
评论

相关推荐

    java.lang.ClassCastException

    在Java编程中,`java.lang.ClassCastException`是一个运行时异常,通常发生在强制类型转换时,如果尝试将一个对象转换为其非兼容类型时就会抛出。这个异常表明在编译时可能成功的类型转换,在运行时被证明是错误的。...

    json-lib net.sf.ezmorph.bean.MorphDynaBean cannot be cast to xxx

    标题中的“json-lib net.sf.ezmorph.bean.MorphDynaBean cannot be cast to xxx”是一个典型的Java运行时异常,通常发生在尝试将一个对象强制转换为其不兼容类型的实例时。在这个特定的情况下,`MorphDynaBean`是...

    java.lang.NoClassDefFoundError错误解决办法

    "java.lang.NoClassDefFoundError错误解决办法" java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决...

    解决cannot be cast to javax.servlet.Filter 报错的问题

    cannot be cast to javax.servlet.Filter 报错, 原因servlet-api.jar冲突 使用maven开发web应用程序, 启动的时候报错: jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/...

    java操作xml dom dom4j sax jdom

    在Java编程中,XML(可扩展标记语言)是一种被广泛用于数据存储和交换的格式。为了处理XML文档,Java提供了多种API,其中最常用的包括DOM、SAX、DOM4J和JDOM。以下是对这些方法的详细介绍: 1. DOM(Document ...

    Java中常用异常列表[收集].pdf

    7. **`java.lang.ClassCastException`**:类型强制转换异常。当试图将一个对象强制转换为它不是的子类类型时,会抛出此异常。在进行类型转换时,需要确认对象的实际类型。 8. **`java.lang....

    java异常详解

    - **`java.lang.ClassCastException`**:当试图将对象强制转换为不兼容类型时抛出。 - **`java.lang.AbstractMethodError`**:当子类没有重写抽象父类的抽象方法时抛出。 - **`java.lang.ClassCircularityError`**:...

    JAVA常见异常解析,面试用

    - **java.lang.ClassCastException**:当尝试将对象强制转换为不兼容的类型时抛出。 - **java.lang.NegativeArraySizeException**:创建具有负长度的数组时抛出。 - **java.lang.SecurityException**:在安全管理器...

    常见异常处理方案

    7. **`java.lang.ClassCastException`**: 尝试将一个对象强制转换为其不兼容的类型时抛出。在执行类型转换之前,使用`instanceof`关键字来检查对象的实际类型。 8. **`java.lang.NegativeArraySizeException`**:...

    java编程常见问题

    12. **java.lang.ClassCastException**: 强制类型转换失败时抛出。只有当对象是目标类的子类或实现了目标接口时,才能成功进行类型转换。 13. **java.lang.ClassNotFoundException**: 在运行时找不到指定的类时,抛...

    java常见异常.pdf

    7. **java.lang.ClassCastException**: 当试图将对象强制转换为其非兼容类型时抛出。在进行类型转换前,应确认对象的实际类型。 8. **java.lang.NegativeArraySizeException**: 创建具有负长度的数组会导致此异常。...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    import java.lang.reflect.Method; public class ClobUtils { /** * 将 CLOB 对象转换为字符串 * @param in 输入的 CLOB 对象 * @return 字符串形式的 CLOB 内容 */ public static Object clobToString...

    JAVA常见异常解析

    7. **java.lang.ClassCastException**: 在强制类型转换时,如果目标类型与实际对象的类型不匹配,会抛出此异常。在进行类型转换前,应先使用`instanceof`关键字检查对象的类型。 8. **java.lang....

    client-adapter.es7x-1.1.5-SNAPSHOT-jar-with-dependencies.jar

    Load canal adapter: es7 failed java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassCastException: com.alibaba.druid.pool.DruidDataSource cannot be cast to ...canal-adapter1.1.5报错, 将...

    java.util.ConcurrentModificationException 解决方法

    `java.util.ConcurrentModificationException` 是一个在 Java 中常见的运行时异常,它通常发生在多线程环境中,当一个线程正在遍历一个集合(如 `ArrayList`, `HashMap` 等),而另一个线程同时尝试修改这个集合时。...

    Android 简单封装一个精美、好用的菜单型PopupWindow

    2. **初始化PopupWindow**:在Java代码中,我们首先需要实例化PopupWindow对象,传入之前创建的布局文件。例如: ```java View popupView = LayoutInflater.from(context).inflate(R.layout.popup_menu, null); ...

    java异常分析及解决办法

    7. **java.lang.ClassCastException**: 在类型转换时,如果目标类型与实际类型不符,就会抛出此异常。在进行类型转换时,确保转换的合法性。 8. **java.lang.NegativeArraySizeException**: 创建具有负大小的...

    JAVA常见异常BUG

    #### 四、Java.lang.Integer cannot be cast to java.lang.Long **定义**: 当尝试将 `Integer` 对象强制转换为 `Long` 对象时抛出 `ClassCastException`。 **示例**: 下面的代码会触发 `ClassCastException`: ```...

    Java软件开发实战 Java基础与案例开发详解 10-7 异常分类 共4页.pdf

    1. **`java.lang.ClassCastException`**:当试图将一个对象强制转换为不兼容的引用类型时抛出该异常。例如,如果一个变量实际上是`Integer`类型的实例,而尝试将其转换为`Double`类型,则会触发此异常。 示例代码...

    java异常解决方案.docx

    * java.lang.ClassCastException: + 解决方案:检查类的继承关系,是否存在多继承或循环继承的问题,尝试使用 instanceof 运算符来检查对象的类型。 * java.lang.UnsupportedClassVersionError: Bad version ...

Global site tag (gtag.js) - Google Analytics