使用mybatis+pagehelper分页有些会报Cause: dm.jdbc.driver.DMException: 字符串转换出错,但是有些又是正常的,我都不知道怎么回事了
怎么解决呀?
我也把sql打出来看了。用mybatis的分页会给原sql包一层。然后查询就报错。直接用limit 分页不会报错的
dm.jdbc.driver.DMException: 字符串转换出错
at dm.jdbc.driver.DBError.throwException(SourceFile:715)
at dm.jdbc.a.a.y.l(SourceFile:619)
at dm.jdbc.a.a.f.l(SourceFile:138)
at dm.jdbc.a.a.y.t(SourceFile:552)
at dm.jdbc.a.a.y.F(SourceFile:533)
at dm.jdbc.a.a.a(SourceFile:249)
at dm.jdbc.a.a.a(SourceFile:731)
at dm.jdbc.driver.DmdbStatement.executeInner(SourceFile:772)
at dm.jdbc.driver.DmdbStatement.do_execute(SourceFile:196)
at dm.jdbc.driver.DmdbStatement.do_execute(SourceFile:188)
at dm.jdbc.driver.DmdbStatement.execute(SourceFile:1342)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:329)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.lambda$0(JDBCStatementImpl.java:131)
at org.jkiss.dbeaver.utils.SecurityManagerUtils.wrapDriverActions(SecurityManagerUtils.java:96)
at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:131)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeStatement(SQLQueryJob.java:582)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.lambda$1(SQLQueryJob.java:491)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:173)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.executeSingleQuery(SQLQueryJob.java:498)
at org.jkiss.dbeaver.ui.editors.sql.execute.SQLQueryJob.extractData(SQLQueryJob.java:917)
at org.jkiss.dbeaver.ui.editors.sql.SQLEditor$QueryResultsContainer.readData(SQLEditor.java:3794)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:173)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5062)
at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
PageHelper.startPage(1, 2);
List
使用上面这种方面不会报错,转换的sql语句为select * from users where uid != 1 LIMIT 1,2;类似这种后面带limit语句
多出的是SQL中ROWNUM列的别名列,默认是BIGINT类型