springboot植入pagerHelper的超详细教程

 更新时间:2021年01月27日 09:46:34   作者:soft_z1302  
这篇文章主要介绍了springboot植入pagerHelper的超详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

简介

前面个已经讲过mybatis的批量更新操作。批量操作还有时分页查询,针对项目的完善性,来讲解一下分页工具的植入pagerHelper和tk.mybatis使用。其实官网已经有具体代码,代价有空可以多多参考官网操作。链接地址MyBatis-Spring-Boot

技术方案

maven jar导入

查看官方说明引入依赖,如下:

<!--mybatis-->
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>1.3.1</version>
</dependency>
<!--mapper-->
<dependency>
  <groupId>tk.mybatis</groupId>
  <artifactId>mapper-spring-boot-starter</artifactId>
  <version>1.2.4</version>
</dependency>
<!--pagehelper-->
<dependency>
  <groupId>com.github.pagehelper</groupId>
  <artifactId>pagehelper-spring-boot-starter</artifactId>
  <version>1.2.3</version>
</dependency>

maven plugin配置

引入完jar依赖之后,配置plugin插件,插件时根据maven来识别的,可以直接拷贝官网的配置即可,如下:

<plugin>
        <groupId>org.mybatis.generator</groupId>
        <artifactId>mybatis-generator-maven-plugin</artifactId>
        <version>1.3.2</version>
        <configuration>
          <configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
          <overwrite>true</overwrite>
          <verbose>true</verbose>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>${mysql.version}</version>
          </dependency>
          <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-generator</artifactId>
            <version>1.0.0</version>
          </dependency>
        </dependencies>
      </plugin>

配置generatorConfig.xml

根据自己喜欢,可以定制化配置generatorConfig.xml,下面是我个人基本配置,更多配置说明,请查看官方说明MyBatis Generator 详解

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
    PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
    "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
  <properties resource="generator/application-dev.properties"/>

  <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
    <property name="beginningDelimiter" value="`"/>
    <property name="endingDelimiter" value="`"/>
    <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
      <property name="mappers" value="com.lgh.common.util.MyMapper"/>
    </plugin>

    <jdbcConnection driverClass="${spring.datasource.driver-class-name}"
            connectionURL="${spring.datasource.url}"
            userId="${spring.datasource.username}"
            password="${spring.datasource.password}">
    </jdbcConnection>

    <javaModelGenerator targetPackage="com.lgh.model" targetProject="src/main/java"/>

    <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/>

    <javaClientGenerator targetPackage="com.lgh.mapper" targetProject="src/main/java"
               type="XMLMAPPER"/>

    <!-- 数据库表 以及实体类命名 -->
    <!-- <table schema="CL_DEMO" tableName="tb_user" domainObjectName="User"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="tb_role" domainObjectName="Role"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="tb_menu" domainObjectName="Menu"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="tb_resource" domainObjectName="Resource"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="user_role" domainObjectName="UserRole"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="role_menu" domainObjectName="RoleMenu"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="menu_resource" domainObjectName="MenuResource"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="role_resource" domainObjectName="RoleResource"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />
    <table schema="CL_DEMO" tableName="logon" domainObjectName="Logon"
        enableCountByExample="false" enableDeleteByExample="false"
        enableSelectByExample="false" enableUpdateByExample="false"
        selectByExampleQueryId="false" />-->
  </context>
</generatorConfiguration>

测试样例

在这里插入图片描述

点击mybatis-generator:generate即可生成对象和映射文件,具体如上图

一般分页个人喜好建议用jdk8的lambda表达式,如//对应的lambda用法
pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(() -> userMapper.selectGroupBy());,
更多请查看官网分页使用方式

总结&反思

基本操作对象,我们不要再手动一个一个的写啦,直接用mybatis插件生成。基本curd不要再自己编写xml,直接用tk.mysql操作即可。一对多情况,分页无法实现谨慎使用

源码地址

github

到此这篇关于springboot植入pagerHelper的文章就介绍到这了,更多相关springboot植入pagerHelper内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JDK1.7中HashMap的死循环问题及解决方案

    JDK1.7中HashMap的死循环问题及解决方案

    这篇文章主要为大家介绍了JDK1.7中HashMap的死循环问题及解决方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Spring MVC集成springfox-swagger2构建restful API的方法详解

    Spring MVC集成springfox-swagger2构建restful API的方法详解

    这篇文章主要给大家介绍了关于Spring MVC集成springfox-swagger2构建restful API的相关资料,文中介绍介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • java 过滤器filter防sql注入的实现代码

    java 过滤器filter防sql注入的实现代码

    下面小编就为大家带来一篇java 过滤器filter防sql注入的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • 你知道Java的这些骚操作吗?

    你知道Java的这些骚操作吗?

    今天在看python相关的东西,看到各种骚操作,回头想了下Java有没有什么骚操作,整理下面几种,一起看一下吧,需要的朋友可以参考下
    2021-05-05
  • java中switch选择语句代码详解

    java中switch选择语句代码详解

    这篇文章主要介绍了java中switch选择语句代码详解,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • Java线程Dump分析工具jstack解析及使用场景

    Java线程Dump分析工具jstack解析及使用场景

    这篇文章主要介绍了Java线程Dump分析工具jstack解析及使用场景,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Spring Boot 文件上传原理解析

    Spring Boot 文件上传原理解析

    Spring Boot 文件上传原理其实就是Spring MVC,因为这部分工作是Spring MVC做的而不是Spring Boot,那么,SpringMVC又是怎么处理文件上传这个过程的呢?下面通过本文给大家详细介绍下,一起看看吧
    2018-03-03
  • JDK 14的新特性:文本块Text Blocks的使用

    JDK 14的新特性:文本块Text Blocks的使用

    这篇文章主要介绍了JDK 14的新特性:文本块Text Blocks的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 如何在springboot中实现页面的国际化

    如何在springboot中实现页面的国际化

    今天带大家学习如何在springboot中实现页面的国际化,文中有非常详细的图文解说及代码示例,对正在学习java的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • httpclient重定向之后获取网址信息示例

    httpclient重定向之后获取网址信息示例

    使用HttpClient进行127.0.0.1:8080地址的问题,然后该地址自动重定向127.0.0.1:8080/mobserver,如何获取该地址呢?使用HttpContext,下面是示例
    2014-02-02

最新评论