欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sqlsever2012使用pageHelper分页插件报错解决@P0”附近有语法错误

程序员文章站 2022-03-01 17:16:50
...

介绍

在mybatis 通过pageHelper 连接sqlServer 2012 时总报错

### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: “@P0”附近有语法错误。
### The error may exist in user.xml
### The error may involve defaultParameterMap
### The error occurred while setting parameters
SQL: select * from t_user OFFSET ? ROWS FETCH NEXT ? ROWS ONLY
Cause: com.microsoft.sqlserver.jdbc.SQLServerException: “@P0”附近有语法错误。
; bad SQL grammar []; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: “@P0”附近有语法错误。

分页插件配置信息如下:

<configuration>
	<plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor">
            <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
            <property name="helperDialect" value="sqlserver2012"/>
        </plugin>
    </plugins>
	<mappers>
		<mapper resource="user.xml" />
	</mappers>

</configuration>

解决办法

原来是 在使用sqlServer 查询分页时必须加上order by

代码如下:

	 Page<User> startPage = PageHelper.startPage(1, 2);
		 startPage.setOrderBy("password");
		List<User> users = userDao.getUsers();