目录
一、PageHelper介绍
二、PageHelper使用
1. 导入pom依赖
2. Mybatis.cfg.xml 配置拦截器
3. 配置 Mapper.xml
4. 编写测试
三、特殊字符处理
1. 使用转义字符
2. 使用CDATA 区段
PageHelper 是 Mybatis 的一个插件,这里就不扯了,就是为了更加便捷的进行分页查询。
官方网址:https://pagehelper.github.io/
PageHelper插件的优点:
QueryInterceptor 规范:使用 QueryInterceptor 规范,开发插件更轻松。
com.github.pagehelper
pagehelper
5.2.0
必须配置在
上面,不然会报错。 正确实例:
其他配置:
博主设置的类型是map集合,可根据需求自行修改。
1. 生成一个方法接口
2. 编写service层接口和继承接口类......省略
package com.ycxw.demo;
import com.github.pagehelper.PageHelper;
import com.ycxw.biz.BookBiz;
import com.ycxw.biz.impl.BookBizImpl;
import com.ycxw.mapper.BookMapper;
import com.ycxw.utils.SessionUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.HashMap;
import java.util.Map;
/**
* @author 云村小威
* @site blog.csdn.net/Justw320
* @create 2023-08-20 18:05
*/
public class CURDTest {
private BookBiz bookBiz;
private SqlSession sqlSession;
@Before
public void before() {
System.out.println("执行测试方法之前会执行的初始化代码块方法");
//获取一个数据库会话对象,并将其赋值给sqlSession变量
this.sqlSession = SessionUtil.openSession();
//实例化业务逻辑层
BookBizImpl book = new BookBizImpl();
//获取接口实例
BookMapper mapper = this.sqlSession.getMapper(BookMapper.class);
book.setBookMapper(mapper);
//最后赋值给bookBiz接口,便于对数据库进行增删改查操作
this.bookBiz = book;
}
@After
public void after() {
System.out.println("执行测试方法之后的后执行的方法");
//提交事务
this.sqlSession.commit();
}
@Test
public void test(){
Map map = new HashMap();
map.put("bname","圣墟");
PageHelper.startPage(1, 10);
bookBiz.listPager(map).forEach(System.out::println);
}
}
通过这个方法可实现分页:
PageHelper.startPage(页码, 数据量);
当然,该演示只是最简单的方法,可通过方法传递动态修改页码数据等等。更多用法欢迎大佬们在评论区留言
在mybatis中我们经常用到特殊字符动态拼接语句,如经常使用到 大于(>,>=)、小于(<,<=)、不等于(<> ,!=)符号。Mybatis使用的 *.xml文件格式,需要在尖括号进行相关的转义或者使用 CDATA 区段。
特殊字符 | 转义字符 |
---|---|
< | < |
> | > |
& | & |
" | " |
’ | ' |
<= | <= |
>= | >= |
示例:
是xml语法,在内部的所有内容都会被解析器忽略,不进行转义。所以在xml中这是一种通用方案。
特殊字符 | |
---|---|
< | |
> | ]]> |
& | |
" | |
’ | |
<= | |
>= | =]]> |
!= |
示例: