新しいSQLSESSION作成 SQLSESSIONが[ org.apache.ibatis.session.defaults.DefaultSqlSession@40f1874e ]をしていない登録のための同期があるため、同期され ていないアクティブ 閉会非トランザクションSQLSESSION [ org.apache.ibatis.session.defaults.DefaultSqlSession@40f1874e ] ORG .mybatis.spring.MyBatisSystemException:ネストされた例外がある:org.apache.ibatis.exceptions.PersistenceException ###エラー照会データベース。原因:java.lang.NullPointerExceptionが ###原因:java.lang.NullPointerExceptionが org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossibleで(MyBatisExceptionTranslator.java:79 ) org.mybatis.spring.SqlSessionTemplate $ SqlSessionInterceptor.invoke(SqlSessionTemplate.java:で447 ) 。com.sun.proxyで$ Proxy23.selectList(不明なソース) org.mybatis.spring.SqlSessionTemplate.selectList(SqlSessionTemplate.java時:231 ) :org.apache.ibatis.binding.MapperMethod.executeForManyで(MapperMethod.java 122 ) org.apache.ibatis.binding.MapperMethodました。実行:(MapperMethod.java 64 ) :org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.javaで53) 。com.sun.proxyで$ Proxy24.queryOrders(不明なソース) com.mopon.app.service.impl.OrderServiceImpl.orderExport(OrderServiceImpl.java時:798 ) com.mopon.app.service.impl.OrderServiceImpl $で$ FastClassBySpringCGLIB $$ 75e6b341.invoke(<発生> ) :org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.javaにおける204 ) org.springframework.aop.framework.CglibAopProxy $ DynamicAdvisedInterceptor.interceptで(CglibAopProxy.java。669 ) com.mopon.app.service.impl.OrderServiceImpl $$ EnhancerBySpringCGLIB $$ 6c3d4ea2.orderExport(AT <発生>) :com.mopon.app.thread.export.ExportOrderThreadHelper.run(ExportOrderThreadHelper.javaで36 ) :java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.javaで1142 ) java.util.concurrent.ThreadPoolExecutor $ Worker.runで(ThreadPoolExecutor.java:617 ) java.lang.Thread.run(Thread.java:で745 ) 引き起こさによって:org.apache.ibatis.exceptions.PersistenceException: ###エラー照会データベース。原因:java.lang.NullPointerExceptionが ###原因:java.lang.NullPointerExceptionが org.apache.ibatis.exceptions.ExceptionFactory.wrapExceptionで(ExceptionFactory.java:30) org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java時:122 ) :org.apache.ibatis.session.defaults.DefaultSqlSession.selectListで(DefaultSqlSession.java 113 ) sun.reflect.NativeMethodAccessorImplました。 invoke0(ネイティブメソッド) :sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.javaにおける62 ) :sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.javaにおける43 ) :java.lang.reflect.Method.invoke(Method.javaで497 ) org.mybatis.spring.SqlSessionTemplate $ SqlSessionInterceptor.invoke(SqlSessionTemplate.java時:434) ... 15 もっと 引き起こさによって:java.lang.NullPointerExceptionが :com.mopon.app.dto.RequestOrderDTO.getLimitNumで(RequestOrderDTO.java 167 ) sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で sun.reflectで。 :NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java 62 ) :sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.javaにおける43 ) :java.lang.reflect.Method.invoke(Method.javaにおける497 ) org.apache.ibatis.reflectionで.invoker.MethodInvoker.invoke(MethodInvoker.java:41 ) :org.apache.ibatis.reflection.wrapper.BeanWrapper.getBeanProperty(BeanWrapper.javaで164 ) :org.apache.ibatis.reflection.wrapper.BeanWrapper.getで(BeanWrapper.java 49 ) org.apache.ibatis.reflectionで:.MetaObject.getValue(MetaObject.java 122 ) :org.apache.ibatis.scripting.xmltags.DynamicContext $ ContextMap.get(DynamicContext.javaで94 ) org.apache.ibatis.scripting.xmltags.DynamicContext $ ContextAccessor.getPropertyで(DynamicContext.java:108 ) org.apache.ibatis.ognl.OgnlRuntime.getProperty(OgnlRuntime.java:で2420 ) org.apache.ibatis.ognl.ASTProperty.getValueBodyで(ASTProperty.java。114 ) org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java時:212 ) :org.apache.ibatis.ognl.SimpleNode.getValueで(SimpleNode.java 258 ) org.apache.ibatis.ognl.ASTNotEqで:.getValueBody(ASTNotEq.java 50 ) :org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.javaにおける212 ) :org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.javaにおける258 ) ORGで。 :apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java 61 ) :org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.javaで212) :org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.javaで258 ) :org.apache.ibatis.ognl.Ognl.getValueで(Ognl.java 494 ) org.apache.ibatis.ognl.Ognl.getValueで(Ognl.java:458 ) :org.apache.ibatis.scripting.xmltags.OgnlCache.getValue(OgnlCache.javaにおける44 ) org.apache.ibatis.scripting.xmltags.ExpressionEvaluator.evaluateBoolean(ExpressionEvaluator.java:時32 ) で:org.apache.ibatis.scripting.xmltags.IfSqlNode.apply(IfSqlNode.java 34 ) :org.apache.ibatis.scripting.xmltags.MixedSqlNode.apply(MixedSqlNode.javaで33) :org.apache.ibatis.scripting.xmltags.DynamicSqlSource.getBoundSql(DynamicSqlSource.javaで41 ) :org.apache.ibatis.mapping.MappedStatement.getBoundSqlで(MappedStatement.java 279 ) com.github.pagehelper.PageInterceptor.interceptで(PageInterceptor.java:82 ) org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:で61 ) 。com.sun.proxy $ Proxy49.query(不明なソース)で org.apache.ibatis.sessionで。 defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:120 ) ... 21 もっと 新しいSQLSESSION作成 SQLSESSIONを[org.apache.ibatis.session.defaults.DefaultSqlSession@4edbc355 】していない登録のための同期があるため、同期され ていないアクティブ 2019 - 09 - 11 10:45:54.740 [ DEBUG ] [ osjdbc.datasource.DataSourceUtils ] [ mod_order ] [ NULL ] [ ヌル] [ ヌル] [ ヌル] [ ヌル]フェッチJDBC接続からデータソース JDBCコネクション[com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@53c08195 ]うではないに管理することにより、春
エラーソースコードは示しています。
1、MyBatisのプロフィール
<SELECT ID = "queryOrders" ParameterTypeが= "com.RequestOrderDTO" このresultMap = "queryOrdersResultMap">
フィールド及びゲッターの2、RequestOrderDTO対応する部分、セッターメソッド
/ * の数取る時間:ちょうど使用して導出* / プライベート int型; LimitSizeは、 / * 最初の数回の服用:使用のみのエクスポート* / プライベート int型; limitNum 公共 int型{getLimitSize() を返すLimitSizeを; } 公共 ボイド setLimitSize(int型LimitSize) { この .limitSize = LimitSize; } 公共 のint getLimitNum(){ 戻りlimitNumを; } 公共 ボイド setLimitNum(INT limitNum){ この.limitNum = limitNum。 }
その変数とgetter、setterメソッドを定義した場合、MyBatisのは、このエラーを報告します。
変数の型がプリミティブはできません、種類をパッケージ化する必要があります。
それがすべて変更されます=== ===
/ * だけ使用して誘導:多くの取る時間* / プライベート整数LimitSizeを; / * 使用される唯一の輸出:最初の数回を取る* / プライベート;整数limitNumを 公共の{整数getLimitSize() を返すLimitSizeを; } 公共 ボイドsetLimitSize(LimitSize整数) { この .limitSize = LimitSize; } パブリック整数getLimitNum(){ 戻りlimitNumを; } 公共 ボイド{setLimitNum(整数limitNum) この .limitNum = limitNum; }
原理は、問題を見つけられませんでした、パッシング洞察力の共有を歓迎しました。