【MyBatis】:PageHelper分页插件与特殊字符处理

目录

一、PageHelper介绍

二、PageHelper使用

1. 导入pom依赖

2. Mybatis.cfg.xml 配置拦截器

3. 配置 Mapper.xml

4. 编写测试

三、特殊字符处理

1. 使用转义字符

2. 使用CDATA 区段


一、PageHelper介绍

        PageHelper 是 Mybatis 的一个插件,这里就不扯了,就是为了更加便捷的进行分页查询。

官方网址:https://pagehelper.github.io/

 

PageHelper插件的优点:

  1. 物理分页:支持常见的 12 种数据库Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等...
  2. 支持多种分页方式:支持常见的RowBounds(PageRowBounds),PageHelper.startPage 方法调用,Mapper 接口参数调用。
  3. QueryInterceptor 规范:使用 QueryInterceptor 规范,开发插件更轻松。

二、PageHelper使用

1. 导入pom依赖

        
            com.github.pagehelper
            pagehelper
            5.2.0
        

2. Mybatis.cfg.xml 配置拦截器

    
        
    

必须配置在上面,不然会报错。

正确实例:

【MyBatis】:PageHelper分页插件与特殊字符处理_第1张图片

其他配置:


    
    

        
        

        
        
        
        

        
        
        

        
        
        

        
        
        
        

        
        
        
        
        

        
        

        
        

    

3. 配置 Mapper.xml

博主设置的类型是map集合,可根据需求自行修改。

    

1. 生成一个方法接口

【MyBatis】:PageHelper分页插件与特殊字符处理_第2张图片

 2. 编写service层接口和继承接口类......省略

4. 编写测试

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 区段。

1. 使用转义字符

特殊字符 转义字符
< <
> >
& &
" "
'
<= <=
>= >=

示例:

    

 

2. 使用CDATA 区段

是xml语法,在内部的所有内容都会被解析器忽略,不进行转义。所以在xml中这是一种通用方案。

特殊字符
<
> ]]>
&
"
<=
>= =]]>
!=

 示例:

   

你可能感兴趣的:(SSM,mybatis,java,开发语言,后端)