【半自动ORM框架 | MyBatis】分页插件的使用

2022.10.12:初学Java写简单的后台管理难免会受到写分页代码的折磨(我是被折磨了),但是接触到MyBatis框架之后,只需要几个配置和几行代码就可以完成以前好几倍的工作量,本篇文章简述了MyBatis分页插件的整体使用流程,如果能帮到你,倍感荣幸!


目录

一.MyBatis框架

二.MyBatis框架分页插件使用流程

1.新建MAVEN项目并导入依赖

2.在MyBatis全局配置文件中配置插件

3.在测试类中测试插件


一.MyBatis框架

首先简单介绍一下MyBatis框架,它是一款优秀的持久层框架。我们初学Java时需要自己来写持久层的代码为了达到连接数据库提交SQL语句,选择性的设置SQL语句的参数最后得到数据库返回的结果集,而使用MyBatis框架免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置,把数据库和我们自己设置的对象实体类进行映射。

二.MyBatis框架分页插件使用流程

1.新建MAVEN项目并导入依赖

对于MAVEN项目就不做多介绍了,idea可以直接新建MAVEN项目,MAVEN项目建好后自带一个XML文件叫做pom.xml,在这个文件里可以完成依赖的导入和一些相关配置,我们需要做的是导入分页插件的依赖,推荐到https://mvnrepository.com/这个网站上来找依赖,直接在上面搜索我们需要用到的插件依赖pagehelper。

扫描二维码关注公众号,回复: 15509692 查看本文章

选择第一个,点进去后选择一个版本 ,我这里选择的是5.3.2

 复制依赖信息到pom.xml文件中,注意外层还需要一个dependencies对标签。

    <dependencies>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>5.3.2</version>
        </dependency>
    </dependencies>

2.在MyBatis全局配置文件中配置插件

MyBatis的使用是必须要有全局配置文件mybatis.cfg.xml,在全局配置文件的configuration对标签中配置如下代码,作用是让框架能够识别插件。

    <plugins>
        <plugin interceptor="com.github.pagehelper.PageInterceptor"></plugin>
    </plugins>

注意:如果你的configuration对标签会报红色下划线,说明你的plugins标签放的位置不对,在DTD文件中有自己的一套识别顺序,plugins标签应该放在environment标签上面。

3.在测试类中测试插件

好了,到这步配置就结束了,可以来进行插件的测试了。测试的前提,你需要在全局配置文件中连接上你的数据库,而且你的数据库中存在需要测试的数据,Java方面你需要创建好对象实体类,而且mapper.xml映射文件中已经完成数据库列和对象实体类的映射,以及mapper.xml映射文件中存在相应的方法也就是对数据库的增删改查操作。

以上不再赘述,我们专心测试插件,默认上述流程已经完成。

以下流程是使用MyBatis框架的标准流程,但是在使用其他框架的前提下会得到简化。

    public static void main(String[] args) throws IOException {
        InputStream is = Resources.getResourceAsStream("mybatis.cfg.xml");
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
        SqlSession sqlSession = factory.openSession();
        PageHelper.startPage(1, 3);
        StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class);
        List<Student> students = studentMapper.selectAll();
        PageInfo<Student> pageInfo = new PageInfo<>(students);
        System.out.println(pageInfo.getList());
        System.out.println(pageInfo.getTotal());
    }

代码前三行固定套路,获取MyBatis全局配置文件的输入流,加载全局配置文件后创建工厂类,使用工厂类可以创建SqlSession,SqlSession中封装了所有增删改查的方法。然后开启插件,有两个参数分别为当前的页数和每页有多少条数据,然后获取mapper.xml的接口对象,这里是采用了接口绑定,所以直接进行获取,通过接口对象可以直接调用方法。

重点的一步:创建PageInfo对象,将调用方法后返回的数组传进去,这里是查询所有的SQL,所有传进去的是一个集合,传进去后会返回一个pageInfo对象,这个对象中包含我们所有需要的信息,比如总条数,当前的页数,每页几条数据以及数据集合,可以通过get+想得到的信息进行查看,上面就是获取了当前页面的集合和总条数。

我们来看看结果:

 可以看到返回的pageInfo对象中有很多信息,我们需要打印的当前页面的三条数据的集合,以及总共5条数据也打印了出来,测试完成。

猜你喜欢

转载自blog.csdn.net/weixin_45973679/article/details/127291684