pagehelper分页插件

一.参考文献

1.GitHub:https://github.com/pagehelper/Mybatis-PageHelper

2.Mybatis分页插件-PageHelper的使用

3.Mybatis 数据库物理分页插件 PageHelper

二.使用方法

1.导入依赖(用的maven)

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.0.0</version>
</dependency>

2.配置(可以在mybatis中或者spring中配置)

<!--2)pegehelperf分页插件配置-->
	<plugins>
		<!-- com.github.pagehelper为PageHelper类所在包名 -->
		<plugin interceptor="com.github.pagehelper.PageInterceptor">
			<!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
			<property name="reasonable" value="true"/>
		</plugin>
	</plugins>

3.使用(测试代码)

@Test
	public void testQueryAll() {
		PageHelper.startPage(1,5 );
		List<Discuss> discussList = discussDao.queryAll();
		PageInfo<Discuss> p=new PageInfo<>(discussList);
		System.out.println(p.getList());
		for (Discuss discuss : discussList) {
			System.out.println(discuss);
		}
		// 测试通过
	}

4.说明:pagehelper会拦截mybatis的查询语句,在其中加入分页查询sql,所以我们写查询语句可以直接写查询所以的,不需要写limit(mysql),从而实现物理分页。

5.GitHub官方文档写的非常详细,这里只是我写个自己看的,仅供参考。

6.注意事项:

6.1 mybatis的查询语句末尾不要加分号,不然会报错,下面代码加了分号,pagehelper拦截后,会直接在后面插入sql,如果末尾有分号就会导致sql在中间,报错

<select id="queryAll" resultMap="productsResultMap">
		SELECT
		* From
		shop_products;
	</select>

相关说明:如下文献来源

一、原因 

  在程序运行中,当执行sql后总是报无效字符错误;但是把程序放在pl/sql中执行又没有错误。让我很纳闷!于是我开始查找资料,然后我终于发现了问题。

二、问题剖析

  原来在程序中;如果你在程序里面写sql,就不要加分号,在程序里面编译器会把分号当做sql本身的一部分,所以会报错。

 如果是在查询工具里面(比如plsql),这个时候可以加上分号,在工具里面已经做过预处理,分号是个分隔符,看到分号就标志着本条sql语句结束了;

因此java中sql语句不能加分号。

 

转载于:https://my.oschina.net/Cubicluo/blog/860289

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值