JBOSS 點(diǎn)滴

          豐豐的博客

          MyBatis出現(xiàn)org.apache.ibatis.executor.ExecutorException異常

          DEBUG [main] - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - Opening JDBC Connection
          DEBUG [main] 
          - Created connection 29011566.
          DEBUG [main] 
          - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@1baae6e]
          DEBUG [main] 
          - ==>  Preparing: select * from user where username like concat(?,'%') 
          DEBUG [main] - ==> Parameters: 張(String)

          org.apache.ibatis.exceptions.PersistenceException: 
          ### 
          Error querying database.  Cause: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'username' from result set.  Cause: java.sql.SQLException: Cannot convert value 'å¼ ä¸?' from column 2 to TIMESTAMP.
          ### The error may exist in sqlmap/User.xml
          ### The 
          error may involve test.findUserByName3
          ### The 
          error occurred while handling results
          ### SQL: 
          select * from user where username like concat(?,'%')
          ### Cause: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'username' from result set.  Cause: java.sql.SQLException: Cannot convert value 'å¼ ä¸?' from column 2 to TIMESTAMP.

              at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:
          30)
              at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
          149)
              at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
          140)
              at com.swjd.test.B.test2(B.java:
          40)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
          62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
          43)
              at java.lang.reflect.Method.invoke(Method.java:
          497)
              at org.junit.runners.model.FrameworkMethod$
          1.runReflectiveCall(FrameworkMethod.java:50)
              at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:
          12)
              at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:
          47)
              at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:
          17)
              at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:
          325)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
          78)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
          57)
              at org.junit.runners.ParentRunner$
          3.run(ParentRunner.java:290)
              at org.junit.runners.ParentRunner$
          1.schedule(ParentRunner.java:71)
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:
          288)
              at org.junit.runners.ParentRunner.access$
          000(ParentRunner.java:58)
              at org.junit.runners.ParentRunner$
          2.evaluate(ParentRunner.java:268)
              at org.junit.runners.ParentRunner.run(ParentRunner.java:
          363)
              at org.junit.runner.JUnitCore.run(JUnitCore.java:
          137)
              at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:
          68)
              at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:
          47)
              at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:
          242)
              at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:
          70)
          Caused by: org.apache.ibatis.executor.result.ResultMapException: 
          Error attempting to get column 'username' from result set.  Cause: java.sql.SQLException: Cannot convert value 'å¼ ä¸?' from column 2 to TIMESTAMP.
              at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:83)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createUsingConstructor(DefaultResultSetHandler.java:
          671)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createByConstructorSignature(DefaultResultSetHandler.java:
          654)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:
          618)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:
          591)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:
          397)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:
          354)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:
          328)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:
          301)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:
          194)
              at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:
          65)
              at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:
          79)
              at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:
          63)
              at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:
          324)
              at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:
          156)
              at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:
          109)
              at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:
          83)
              at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
          147)
               
          24 more
          Caused by: java.sql.SQLException: Cannot convert value 
          'å¼ ä¸?' from column 2 to TIMESTAMP.
              at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
              at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:
          956)
              at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:
          926)
              at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:
          1328)
              at com.mysql.jdbc.ByteArrayRow.getTimestampFast(ByteArrayRow.java:
          124)
              at com.mysql.jdbc.ResultSetImpl.getTimestampInternal(ResultSetImpl.java:
          6669)
              at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:
          5988)
              at com.mysql.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:
          6026)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
          62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
          43)
              at java.lang.reflect.Method.invoke(Method.java:
          497)
              at org.apache.ibatis.logging.jdbc.ResultSetLogger.invoke(ResultSetLogger.java:
          69)
              at com.sun.proxy.$Proxy6.getTimestamp(Unknown Source)
              at org.apache.ibatis.type.DateTypeHandler.getNullableResult(DateTypeHandler.java:
          39)
              at org.apache.ibatis.type.DateTypeHandler.getNullableResult(DateTypeHandler.java:
          28)
              at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:
          81)
               
          41 more
          Caused by: java.lang.NumberFormatException: 張三
              at com.mysql.jdbc.StringUtils.getInt(StringUtils.java:
          756)
              at com.mysql.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:
          1253)
               
          54 more


          Process finished 
          with exit code -1

          上網(wǎng)找了一些答案也沒有解決我的問題,

          后來發(fā)現(xiàn)原來是User類的構(gòu)造函數(shù)問題,找不到相關(guān)的構(gòu)造函數(shù);試著在User中加一個(gè)默認(rèn)的構(gòu)造函數(shù),就解決了。。。

          希望能幫到大家。

                   默認(rèn)的構(gòu)造函數(shù)在創(chuàng)建構(gòu)造函數(shù)后,不會(huì)自動(dòng)創(chuàng)建默認(rèn)構(gòu)造函數(shù)

          DEBUG [main] 
          - Logging initialized using 'class org.apache.ibatis.logging.slf4j.Slf4jImpl' adapter.
          DEBUG [main] - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - PooledDataSource forcefully closed/removed all connections.
          DEBUG [main] 
          - Opening JDBC Connection
          DEBUG [main] 
          - Created connection 27155935.
          DEBUG [main] 
          - Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection@19e5ddf]
          DEBUG [main] 
          - ==>  Preparing: select * from user where id=
          DEBUG [main] 
          - ==> Parameters: 27(Integer)

          org.apache.ibatis.exceptions.PersistenceException: 
          ### 
          Error querying database.  Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.swjd.po.User with invalid types () or values (). Cause: java.lang.NoSuchMethodException: com.swjd.po.User.<init>()
          ### The 
          error may exist in sqlmap/User.xml
          ### The 
          error may involve test.findUserById-Inline
          ### The 
          error occurred while setting parameters
          ### SQL: 
          select * from user where id=?
          ### Cause: org.apache.ibatis.reflection.ReflectionException: 
          Error instantiating class com.swjd.po.User with invalid types () or values (). Cause: java.lang.NoSuchMethodException: com.swjd.po.User.<init>()

              at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:
          26)
              at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
          111)
              at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
          102)
              at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:
          66)
              at com.test.Test1.test1(Test1.java:
          31)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
          62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
          43)
              at java.lang.reflect.Method.invoke(Method.java:
          497)
              at org.junit.runners.model.FrameworkMethod$
          1.runReflectiveCall(FrameworkMethod.java:50)
              at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:
          12)
              at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:
          47)
              at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:
          17)
              at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:
          325)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
          78)
              at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
          57)
              at org.junit.runners.ParentRunner$
          3.run(ParentRunner.java:290)
              at org.junit.runners.ParentRunner$
          1.schedule(ParentRunner.java:71)
              at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:
          288)
              at org.junit.runners.ParentRunner.access$
          000(ParentRunner.java:58)
              at org.junit.runners.ParentRunner$
          2.evaluate(ParentRunner.java:268)
              at org.junit.runners.ParentRunner.run(ParentRunner.java:
          363)
              at org.junit.runner.JUnitCore.run(JUnitCore.java:
          137)
              at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:
          68)
              at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:
          47)
              at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:
          242)
              at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:
          70)
          Caused by: org.apache.ibatis.reflection.ReflectionException: 
          Error instantiating class com.swjd.po.User with invalid types () or values (). Cause: java.lang.NoSuchMethodException: com.swjd.po.User.<init>()
              at org.apache.ibatis.reflection.factory.DefaultObjectFactory.instantiateClass(DefaultObjectFactory.java:
          86)
              at org.apache.ibatis.reflection.factory.DefaultObjectFactory.create(DefaultObjectFactory.java:
          48)
              at org.apache.ibatis.reflection.factory.DefaultObjectFactory.create(DefaultObjectFactory.java:
          41)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:
          528)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.createResultObject(DefaultResultSetHandler.java:
          507)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:
          331)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForSimpleResultMap(DefaultResultSetHandler.java:
          291)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:
          266)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:
          236)
              at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:
          150)
              at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:
          60)
              at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:
          73)
              at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:
          60)
              at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:
          267)
              at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:
          137)
              at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:
          96)
              at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:
          77)
              at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:
          108)
               
          25 more
          Caused by: java.lang.NoSuchMethodException: com.swjd.po.User.
          <init>()
              at java.lang.Class.getConstructor0(Class.java:
          3082)
              at java.lang.Class.getDeclaredConstructor(Class.java:
          2178)
              at org.apache.ibatis.reflection.factory.DefaultObjectFactory.instantiateClass(DefaultObjectFactory.java:
          60)
               
          42 more


          Process finished 
          with exit code -1


            

          這種錯(cuò)也是同樣的問題,


          加上無參構(gòu)造函數(shù)就可以了。


          當(dāng)創(chuàng)建對象來接受sql結(jié)果時(shí)會(huì)遍歷實(shí)體類的構(gòu)造方法找到與之匹配的,如果實(shí)體類中有構(gòu)造方法了但是參數(shù)不匹配的話就會(huì)報(bào)上述錯(cuò)誤,此時(shí)添加無參構(gòu)造方法(默認(rèn)的構(gòu)造方法),會(huì)走其他方法,
          https://blog.csdn.net/qq_35975416/article/details/80488267




          posted on 2020-03-25 20:01 半導(dǎo)體 閱讀(5573) 評(píng)論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 上虞市| 远安县| 沛县| 招远市| 新田县| 威海市| 柘荣县| 汾阳市| 仲巴县| 谷城县| 双流县| 沁水县| 尉氏县| 炉霍县| 三原县| 泾阳县| 西城区| 北京市| 乳源| 霍城县| 青铜峡市| 铜山县| 昆山市| 乌鲁木齐市| 镇江市| 靖州| 雷山县| 南城县| 红桥区| 临洮县| 邹城市| 安泽县| 碌曲县| 高唐县| 黔西县| 奉化市| 津市市| 武功县| 鄯善县| 杭锦旗| 海城市|