mybatis查询异常-Error querying database. Cause: java.lang.ClassCastException: org.apache.ibatis.executor.ExecutionPlaceholder cannot be cast to java.util.List

摘要:
背景:直接从Mybatis查询检索的sqlsessions不会打包为SqlSessionTemplate,也不会使用Spring提供的代理。

背景,mybatis查询的时候直接取的sqlsession,没有包装成SqlSessionTemplate,没有走spring提供的代理。

然后我写的获取sqlsession的代码没有考虑到并发的情况,导致sqlsession建的太多

mybatis查询异常-Error querying database. Cause: java.lang.ClassCastException: org.apache.ibatis.executor.ExecutionPlaceholder cannot be cast to java.util.List第1张

并发大了之后,查询报错

org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.ClassCastException: org.apache.ibatis.executor.ExecutionPlaceholder cannot be cast to java.util.List
### The error may exist in class path resource [mybatis/ConVideoInfoMapper.xml]
### The error may involve com.letv.mms.core.dao.IConVideoInfoDao.selectById
### The error occurred while executing a query
### Cause: java.lang.ClassCastException: org.apache.ibatis.executor.ExecutionPlaceholder cannot be cast to java.util.List
        at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23) ~[mybatis-3.1.1.jar:3.1.1]
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:104) ~[mybatis-3.1.1.jar:3.1.1]
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:95) ~[mybatis-3.1.1.jar:3.1.1]
        at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:59) ~[mybatis-3.1.1.jar:3.1.1]
        at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:95) ~[mybatis-3.1.1.jar:3.1.1]
        at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:40) ~[mybatis-3.1.1.jar:3.1.1]

解决方法,交给spring来管理mybatis,使用sqlsessiontemplate。

免责声明:文章转载自《mybatis查询异常-Error querying database. Cause: java.lang.ClassCastException: org.apache.ibatis.executor.ExecutionPlaceholder cannot be cast to java.util.List》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vscode 打开文件乱码,千万不要点保存!(转载)IlluminateDatabaseQueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

mybatis 中 foreach collection的三种用法

foreach元素的属性主要有 item,index,collection,open,separator,close。 item表示集合中每一个元素进行迭代时的别名, index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置, open表示该语句以什么开始, separator表示在每次进行迭代之间以什么符号作为分隔 符, close表示以什么结...

mybatis的嵌套查询(嵌套查询nested select和嵌套结果nested results查询)区别

(转自:http://blog.csdn.net/canot/article/details/51485955) Mybatis表现关联关系比hibernate简单,没有分那么细致one-to-many、many-to-one、one-to-one。而是只有两种association(一)、collection(多),表现很简洁。下面通过一个实例,来展示...

Mybatis中 ResultMap的collection配置一对多使用详解

resultMap可以将查询到的多种数据,映射到一个符合要求的对象上。   1.实现操作的基本流程     调用Mapper接口的方法→→Mapper.xml文件中对应id的查询语句(接口的方法名=查询语句的id)→查询语句配置resultMap属性(属性值是其对应ResultMap标签的id)→在resultMap标签中,配置查到的表的字段与对象的属性的...

mybatis高级应用系列一:分页功能

Mybatis分页插件请使用这位帅哥开发的, 看起来不错.https://github.com/miemiedev/mybatis-paginator Mybatis3.0出来已有段时间了,其实自己挺喜欢这样的一个持久化框架的,因为它简单实用,学习成本低。Mybatis3.0在整体结构上和ibatis2.X差不多,改进特性如下: 1.解析xml引进了Xp...

mybatis sql查询慢

在mybatis为持久化的java框架中,mapper和xml文件映射的sql,有时在实际执行时会很慢,甚至一直查询不出来,调查发现原因有二: 1.参数化写法不同,执行逻辑不同。例如:#{param},${'param'} #符号标记的参数,在mybatis执行sql时,使用PreparedStatement对象,包含预编译sql操作,能防止sql注入安全...

mybaits3.2.8 别名包扫描通配符

<mybatis.version>3.2.8</mybatis.version><mybatis.spring.version>1.2.2</mybatis.spring.version><mybatis.generator.version>1.3.2</mybatis.generator....