Sprin Boot2.0之整合Mybatis整合分页插件

springboot + mybatis + pagehelper分页插件 + druid连接池 + generator逆向插件,请阅读README.md springboot + mybatis + pagehelper分页插件 + druid连接池 + generator逆向插件 立即下载

Sprin Boot2.0之整合Mybatis整合分页插件

pageHelper

PageHelper 是一款好用的开源免费的 Mybatis 第三方物理分页插件

物理分页

支持常见的 12 种数据库。Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等

支持多种分页方式

支持常见的 RowBounds(PageRowBounds),PageHelper.startPage 方法调用,Mapper 接口参数调用

 

pageHelper底层会帮助生成一下分页语句  limit相关

废话不多说,赶紧动手!

pom文件:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>pageHelper</groupId>
  <artifactId>com.toov5.pageHelper</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.0.RELEASE</version>
	</parent>
	<dependencies>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
		<!-- 测试 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.1.1</version>
		</dependency>
		<!-- mysql 依赖 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<!-- springboot-web组件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!-- springboot 整合 pagehelper -->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.5</version>
		</dependency>
		<dependency>
			<groupId>org.apache.commons</groupId>
			<artifactId>commons-lang3</artifactId>
			<version>3.7</version>
		</dependency>
	</dependencies>
  
</project>

 application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver


logging.level.com.example.demo.dao=DEBUG
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
pagehelper.page-size-zero=true

entity:

package com.toov5.entity;

import lombok.Data;

@Data
public class User {

    private Integer id;
    private String name;
    private Integer age;
}

 

mapper:

package com.toov5.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import com.toov5.entity.User;

public interface UserMapper {
    @Select("SELECT * FROM USERS ")
    List<User> findUserList();
}

service

package com.toov5.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.toov5.entity.User;
import com.toov5.mapper.UserMapper;

@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    //当前页 一页多少个  mysql通过limit分页的哈
    public PageInfo<User> findUserList(int page, int size) {
        // 开启分页插件,放在查询语句上面 帮助生成分页语句
        PageHelper.startPage(page, size); //底层实现原理采用改写语句   将下面的方法中的sql语句获取到然后做个拼接 limit  AOPjishu 
        List<User> listUser = userMapper.findUserList();
        // 封装分页之后的数据  返回给客户端展示  PageInfo做了一些封装 作为一个类
        PageInfo<User> pageInfoUser = new PageInfo<User>(listUser);
        return pageInfoUser;
    }

}

controller

package com.toov5.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.github.pagehelper.PageInfo;
import com.toov5.entity.User;
import com.toov5.service.UserService;

@RestController
public class IndexController {
    @Autowired
    private UserService userService;

    @RequestMapping("/findUserList")
    public PageInfo<User> findUserList(int page, int size) {
        System.out.println("#############################");
        return userService.findUserList(page, size);
    }

}

启动类

package com.toov5;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@MapperScan("com.toov5.*")
@SpringBootApplication
public class PageHelper {

    public static void main(String[] args) {
        SpringApplication.run(PageHelper.class, args);
    }

} 

项目启动:

访问

 

json解析:

{
	"total": 4,
	"list": [{
		"id": 1,
		"name": "toov5",
		"age": 12
	}, {
		"id": 2,
		"name": "cc",
		"age": 99
	}],
	"pageNum": 1,
	"pageSize": 2,
	"size": 2,
	"startRow": 1,
	"endRow": 2,
	"pages": 2,
	"prePage": 0,
	"nextPage": 2,
	"isFirstPage": true,
	"isLastPage": false,
	"hasPreviousPage": false,
	"hasNextPage": true,
	"navigatePages": 8,
	"navigatepageNums": [1, 2],
	"navigateFirstPage": 1,
	"navigateLastPage": 2,
	"firstPage": 1,
	"lastPage": 2
}

  小伙伴们是不是返回的信息量十足呀~

PS:如果每个查询方面前面都这样:

 

如果每个方法查询之前 之后 都加这么个方法的话 很冗余啊

冗余 则 aop封装 

 模板设计方法模式!!!哈哈哈  有兴趣的可以玩玩

 

MyBatis基于Spring-boot集成通用Mapper以及pagehelper分页插件 MyBatis基于Spring-boot集成通用Mapper以及pagehelper分页插件,含单元测试、SQL脚本;减少Mybatis SQL的编写 立即下载

相关推荐

Spring Boot集成MyBatis与分页插件

Spring Boot集成MyBatis与分页插件

Spring Boot Mybatis扩展插件(分页插件)

如果要想在Mybatis中实现分页功能,传统的方式,需要入侵式的修改原sql中的语句,增加limit来分页,增加获取数据总数的查询。 因此想非入侵式的实现分页功能,可使用第三方PageHelper分页插件

m0_37446470的博客 1797

springboot中使用jsp、使用mybatis、使用分页插件

springboot 中使用jsp、使用mybatis、使用PageHelper、

基于SpringBoot+Mybatis实现一个最简单的Mybatis分页插件

基于SpringBoot+Mybatis实现一个最简单的Mybatis分页插件

落日的博客 905

springboot项目(四)添加mybatis分页插件

springboot项目(四)添加mybatis分页插件

易智联LM401模块学习(一)——初识Lora

Lora

weixin_46046597的博客 1054

springboot整合mybatis步骤,与踩坑排错

本文简单回顾一下springboot整合mybatis步骤,俗话说,刀放着不用会生锈,同理,学习也是如此,需要常常温故知新。在整合过程中,也遇到了一些坑,具体看章节四,看你有没有遇到同样的问题。

weixin_44107140的博客 1188

腾讯云TDSQL MySQL版 - 开发指南兼容性

语言结构 分布式实例支持所有 MySQL 使用的文字格式,包括: String Literals Numeric Literals Date and Time Literals Hexadecimal Literals Bit-Value Literals Boolean Literals NULL Values String Literals String Literals 是一个 bytes 或者 characters 的序列,两端被单引号'或者双引号"包围,TDSQL MySQL版

weixin_43872058的博客 909

Springboot中Mybatis属性映射--开启驼峰命名

mybatis默认是属性名和数据库字段名一一对应的,即 数据库表列:user_name 实体类属性:user_name 但是java中一般使用驼峰命名 数据库表列:user_name 实体类属性:userName 在Springboot中,可以通过设置map-underscore-to-camel-case属性为true来开启驼峰功能。 application.yml中: mybatis: c...

29岁的裴野永远爱你 4320

轻量级NAS的隐秘战场:比特米盒CumeBox2与CasaOS的生态融合实践

本文探讨了比特米盒CumeBox2轻量级NAS设备与CasaOS操作系统的生态融合实践。通过硬件选型、系统部署、性能优化和应用场景分析,展示了如何将CumeBox2与CasaOS深度整合,打造经济实用的家庭数据管理中心,特别适合入门级用户和小型办公环境。

rl6adventurer的博客 895

1.47寸ST7789V3彩色TFT LCD嵌入式驱动详解

TFT LCD是嵌入式人机交互(HMI)的核心显示技术,其工作原理依赖于行列驱动、RGB像素寻址与伽马校正等模拟/数字协同机制。ST7789V3作为主流低功耗TFT控制器,支持SPI接口与16位RGB565数据格式,具备高兼容性与轻量级驱动优势。在资源受限的MCU平台(如ARM Cortex-M系列)上,结合RT-Thread设备驱动模型与QSPI硬件加速,可实现高效显存管理、Bresenham图形算法及GB2312中文字模渲染。典型应用场景涵盖便携设备状态屏、工业HMI面板与教育开发套件——本文以1.47

weixin_42599908的博客 124

SpringBoot-MybatisHelper分页插件使用和粗浅分析

SpringBoot-MybatisHelper分页插件使用和粗浅分析

Aiwin的博客 1840

基于VSCode+clangd插件打造高效C++开发环境之四:clangd配置

本文介绍如何配置VSCode+clangd插件进行高效C++开发。重点内容包括:1)生成compile_commands.json文件,通过ninja工具提取编译命令并使用gen_compdb脚本转换;2)配置clangd命令行参数,如设置后台索引、并行度等;3)编写.clangd配置文件,调整编译标志和诊断选项;4)添加.clang-format文件定义代码风格;5)在VSCode中添加远程服务器工作目录。配置完成后需重启clangd服务使更改生效。文章还提供了MTK/QCOM等不同平台生成compile

5070

SpringBoot

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。使用了Spring框架后已经简化了我们的开发。而SpringBoot又是对Spring开发进行简化的,可想而知SpringBoot使用的简单及广泛性。既然SpringBoot是用来简化Spring开发的,那我们就先回顾一下,以SpringMVC创建工程,并在pom.xml配置文件中配置所依赖的坐标编写web3.0的配置类作为web程序,web3.0。

weixin_38472038的博客 789

CMCC-IPC-A410串口刷机救砖教程

《CMCC-IPC-A410摄像头串口刷机指南》摘要 本指南针对2018年前老款CMCC-IPC-A410摄像头变砖/升级失败的情况,提供串口刷机方案。需准备CH340G串口模块、杜邦线、海康V5.5.82固件等工具。操作包含硬件连接(TX/RX交叉接线)、115200波特率终端配置、CTRL+U进入刷机模式,通过UPF格式化、tftp传输固件、update写入等步骤完成修复。刷机后设备恢复未激活状态,需重置密码,原定制功能可能失效。整个过程需稳定供电,耗时约15-20分钟,注意此操作将使原厂保修失效。(1

海康威视技术支持 1846

基于 Simulink 的固态变压器(SST)多级协同控制实战教程

《固态变压器多级协同控制仿真指南》摘要: 本教程详细讲解了基于Simulink的固态变压器(SST)三级架构建模与控制方法。核心内容包含:1)搭建级联H桥整流(CHB)、双有源桥(DAB)和逆变器(VSI)的三级主电路;2)提出创新的多级协同控制策略,通过功率前馈实现输入输出级动态匹配;3)给出系统级功率平衡、单元级均压控制的具体实现方案。教程特别强调解决实际工程中的关键问题:代数环处理、软启动设计和刚性系统求解器选择,并提供了硬件在环(HIL)仿真建议。附带的MATLAB代码示例可直接用于实现电容电压均衡

xiaoheshang_123的博客 120

SpringBoot:实现MyBatis分页

综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍的时间写 count 和 select,幸好我们有 pagehelper 分页插件,pagehelper 是一个强大实用的 MyBatis 分页插件,可以帮助我们快速的实现MyBatis分页功能,而且pagehelper有个优点是,分页和Mapper.xml完全解耦,并以插件的形式实现,对Mybatis执行的流

jiey0407的博客 493

用「OpenClaw」打造新媒体运营神器:小红书/公众号全自动选题→创作→排版→发布全流程

对于新媒体运营的从业者来说,AI不是要取代运营人员,而是把他们从繁琐的重复劳动中解放出来,专注于更核心的内容策略、用户运营、品牌建设,这才是AI在传统行业落地的真正价值。这是最终输出可发布内容的核心智能体,我们通过「OpenClaw」的Prompt工程,结合不同平台的排版规范,实现了一键生成符合要求的排版,完全替代人工重复劳动。这套系统的落地,不是技术的炫技,而是真正用AI解决了新媒体运营的核心痛点:用自动化替代重复的人工劳动,用数据决策替代经验主义,用全闭环执行替代纸上谈兵的建议。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 198

springboot当中配置mybatis分页插件

这篇文章主要介绍了spring boot集成pagehelper,本篇文章主要记录使用pagehelper的几种配置方式。 目录1、导入依赖2、配置pagehelper3、代码写法 1、导入依赖 其他依赖我就没有复制了,这些依赖主要是记录一下版本,因为springboot和pagehelper集成的时候,版本不对会出各种问题甚至项目启动不起来。我用的是springboot1.5.12.RELEASE+pagehelper4.1.3 <parent> <groupId>org.spr

怪咖@的博客 6151

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

SpringBoot简单使用MybatisPlus分页插件

SpringBoot简单使用MybatisPlus分页插件

reresrse的博客 611

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

spring boot 2.x版本:启动报错:Error creating bean with name 'dataSource' defined in class path resource

#在使用spingBoot 2.x版本的时候,使用alibaba的druid数据库连接池,com.github.pagehelper的分页插件1.1.2版本,启动项目报错。 错误日志如下: Error creating bean with name 'dataSource' defined in class path resource [com/alibaba/druid/spring/boo...

TOP丶Chen 1426

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

springboot 整合 Mybatis的分页插件 PageHelper

<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.4</version> </dependency> <!-- 分...

我是谁不重要的博客 420

Mybatis整合分页插件

1.引入依赖 <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter&l...

weixin_30682415的博客 327

springboot2.0.5集成mybatis(PageHelper分页插件、generator插件使用)

用IDEA搭建springboot2.0.5项目 选择Spring initializr就可以轻松搭建一个springboot项目,第一次搭建很费时 在Group写上公司域名,Artifact写上项目名,打包用Jar 选Web勾选 SQL项,勾选MySQL、JDBC、MyBatis,这里选择了过后,IDEA会方便地帮我们导入相关依赖 数据库建立 CREATE TABL...

zab635590867的博客 8230

十四、SpringBoot之数据访问整合MyBatis

pom.xml &lt;!--引入mybatis--&gt; &lt;dependency&gt; &lt;groupId&gt;org.mybatis.spring.boot&lt;/groupId&gt; &lt;artifactId&gt;mybatis-spring-boot-starter&lt;/arti...

白夜行悟空 276
上一篇: Spring Boot2.0之Admin-UI分布式微服务监控中心
下一篇: Spring Boot2.0之纯手写框架
Art&Code
博客等级 码龄7年 77粉丝 554原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值