mybatis 并发执行时出现NullPointerException

AlbertoGFS的头像 AlbertoGFS 0 2016-04-13 19:51 0

 基本信息

× 1    × 1   

浏览数: 35403

分享时间: 2 年 前

5

异常堆栈如下:

### Cause: java.lang.NullPointerException
        at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:147)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:134)
        at sun.reflect.GeneratedMethodAccessor725.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:355)
        ... 87 more
Caused by: java.lang.NullPointerException
        at org.apache.ibatis.reflection.property.PropertyTokenizer.<init>(PropertyTokenizer.java:27)
        at org.apache.ibatis.reflection.MetaObject.getValue(MetaObject.java:114)
        at org.apache.ibatis.builder.xml.dynamic.DynamicContext$ContextMap.get(DynamicContext.java:89)
        at org.apache.ibatis.builder.xml.dynamic.DynamicContext$ContextAccessor.getProperty(DynamicContext.java:107)
        at org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:1657)
        at org.apache.ibatis.ognl.ASTProperty.getValueBody(ASTProperty.java:92)
        at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
        at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:210)
        at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:49)
        at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
        at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:210)
        at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:333)
        at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:413)
        at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:395)
        at org.apache.ibatis.builder.xml.dynamic.OgnlCache.getValue(OgnlCache.java:42)
        at org.apache.ibatis.builder.xml.dynamic.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:32)
        at org.apache.ibatis.builder.xml.dynamic.IfSqlNode.apply(IfSqlNode.java:30)
        at org.apache.ibatis.builder.xml.dynamic.MixedSqlNode.apply(MixedSqlNode.java:29)
        at org.apache.ibatis.builder.xml.dynamic.TrimSqlNode.apply(TrimSqlNode.java:42)
        at org.apache.ibatis.builder.xml.dynamic.MixedSqlNode.apply(MixedSqlNode.java:29)
        at org.apache.ibatis.builder.xml.dynamic.DynamicSqlSource.getBoundSql(DynamicSqlSource.java:37)
        at org.apache.ibatis.mapping.MappedStatement.getBoundSql(MappedStatement.java:241)
        at org.apache.ibatis.executor.statement.BaseStatementHandler.<init>(BaseStatementHandler.java:61)
        at org.apache.ibatis.executor.statement.PreparedStatementHandler.<init>(PreparedStatementHandler.java:36)
        at org.apache.ibatis.executor.statement.RoutingStatementHandler.<init>(RoutingStatementHandler.java:42)
        at org.apache.ibatis.session.Configuration.newStatementHandler(Configuration.java:348)
        at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:43)
        at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:108)
        at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:75)
        at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:145)
        ... 92 more

这是mybatis依赖包OGNL 2.6.9的一个bug,可以通过升级mybatis版本到 3.3.0来解决此问题。

mybatis官方issue说明: https://github.com/mybatis/mybatis-3/issues/224

不错不错
1 年 前 20151313

  • yuzhao的头像 yuzhao 2017-10-30 18:21 代码数:0

    66666

  • weclch2008的头像 weclch2008 2016-05-10 13:50 代码数:0

    这个问题困扰我很久,我以为我的代码出问题了,原来是框架的bug,呵呵!谢谢

  • tumubai的头像 tumubai 2016-05-18 22:25 代码数:0

    谢谢楼主分享

  • luomo1991的头像 luomo1991 2016-05-20 20:19 代码数:0

    只靠视频是学不会HTML5的,这个需要学习当中有实际的操作才能学会,只看视频是学不会的哦,自学是需要很强的毅力和耐心的,在自学中遇到困难的时候,没人帮你解决问题,这方面的问题我们的课程就能避免这些事情,而且我们的课程是免费的,我给大家推荐一个大神前端学习QUN前面一部分数字为四其一,中间一段数字是0儿七,后面一部分是一武4,想学习的人可以加群一起学习下,不想学习的就不用加了。

  • wxx199702的头像 wxx199702 2018-03-13 22:41 代码数:0

    写的不错

  • YT666666的头像 YT666666 2016-09-14 09:48 代码数:0

    66666666666666666666666666666

  • shanghe306的头像 shanghe306 2016-10-08 12:26 代码数:0

    这个的确很难确定问题所在,不过还是应该使用最新的jar包比较好。

  • Eflying的头像 Eflying 2017-07-12 09:37 代码数:0

    666

  • 1527514213的头像 1527514213 2017-08-02 14:45 代码数:0

    路过

您的评论: