10—mybatis 通用mapper插件 pagehelper 分页
spring boot真的太好用了,大家以后多多使用,今天来说说pagehelper 来做mybatis分页,我用的是spring boot 做的开发,后面会把源码发出来。
pagehelper(https://github.com/pagehelper/Mybatis-PageHelper) 是什么我就不多说了,网上太多太多了。
还是上代码吧
Card表
CREATE TABLE `card` (
`id` int(11) NOT NULL DEFAULT '',
`cid` int(11) DEFAULT NULL,
`title` varchar(60) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `card` VALUES ('', '', 'aldsjkfla');
INSERT INTO `card` VALUES ('', '', '2222aldsjkfla');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', 'swswswsws');
INSERT INTO `card` VALUES ('', '', '');
INSERT INTO `card` VALUES ('', '', 'aaaaaa');
INSERT INTO `card` VALUES ('', '', 'asdfasdfadfadfadsf');
INSERT INTO `card` VALUES ('', '', 'aswsweerererer');
INSERT INTO `card` VALUES ('', '', 'dfdfdfdfdfa');
INSERT INTO `card` VALUES ('', '', 'dfdsfsadf');
INSERT INTO `card` VALUES ('', '', 'agtgtgtgtg');
INSERT INTO `card` VALUES ('', '', 'aaaggtgtg');
下面开始编码:
1.新建一个spring boot项目

2.导包
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.zn.test</groupId>
<artifactId>testpage</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>testpage</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--自动构造java-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.14.8</version>
</dependency>
<!--通用mapper启动器-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.0.4</version>
</dependency> <!--分页助手启动器-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency> <!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.32</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>
3. 配置文件,包括数据地址等信息
application.yml
server:
port: 8099
spring:
application:
name: testpage
datasource:
url: jdbc:mysql://localhost:3306/card
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver #显示sql语句
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
4.建立实体类 Card.java
package org.zn.test.testpage.entity; import lombok.Data;
import lombok.ToString;
import tk.mybatis.mapper.annotation.KeySql; import javax.persistence.Id;
import javax.persistence.Table; @Table(name = "card")
@Data
@ToString
public class Card {
@Id
@KeySql(useGeneratedKeys = true)
private Integer id;
private Integer cid;
private String title;
}
5.建立Mapper
CardMapper.java,这里注意用是通用mapper来实现的,所有继承tk.mybatis.mapper.common.Mapper的Mapper
package org.zn.test.testpage.mapper; import org.zn.test.testpage.entity.Card;
import tk.mybatis.mapper.common.Mapper; public interface CardMapper extends Mapper<Card> { }
6.建立Servcie
CardService.java
package org.zn.test.testpage.service; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.zn.test.testpage.entity.Card;
import org.zn.test.testpage.mapper.CardMapper;
import tk.mybatis.mapper.entity.Example; import java.util.List; @Service
public class CardService {
@Autowired
private CardMapper cardMapper; public List<Card> GetPageList(Integer page,Integer rows,String sortBy,Boolean desc,String key)
{
//分页
PageHelper.startPage(page,rows);
//过滤
Example example=new Example(Card.class);
if(key!=""&&!key.equals("")){
example.createCriteria().orLike("title","%"+key+"%");
}
//排序
if(sortBy!=""&&!key.equals("")){
String orderByClause=sortBy+(desc?" DESC":" ASC");
example.setOrderByClause(orderByClause);
}
//查询
List<Card> list=cardMapper.selectByExample(example);
PageInfo<Card> info=new PageInfo<Card>(list);
return info.getList();
} }
7.建立Controller
HomeController.java
package org.zn.test.testpage.controller; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.zn.test.testpage.entity.Card;
import org.zn.test.testpage.service.CardService; import java.util.List; @RestController
@RequestMapping("/home")
public class HomeController {
@Autowired
private CardService cardService; @RequestMapping("/index")
public String Index(int page,String key) {
List<Card> list = cardService.GetPageList(page, 5, "id", true, key); StringBuilder sb = new StringBuilder();
for (Card item : list) {
sb.append(item+"</br>");
}
return sb.toString();
} }
8.配置启动类
TestpageApplication.java 就是spring boot启动类,要注意这里用@MapperScan("org.zn.test.testpage.mapper"),进入整包注入。
package org.zn.test.testpage; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import tk.mybatis.spring.annotation.MapperScan; @SpringBootApplication
@MapperScan("org.zn.test.testpage.mapper")
public class TestpageApplication {
public static void main(String[] args) {
SpringApplication.run(TestpageApplication.class, args);
} }
9.启动,并访问
http://localhost:8099/home/index?page=1&key=a


看一下,是数据分页。
10—mybatis 通用mapper插件 pagehelper 分页的更多相关文章
- Spring Boot MyBatis 通用Mapper插件集成 good
看本文之前,请确保你已经在SpringBoot中集成MyBatis,并能正常使用.如果没有,那么请先移步 http://blog.csdn.net/catoop/article/details/505 ...
- Spring Boot MyBatis 通用Mapper插件集成
Mybatis在使用过程中需要三个东西,每张表对应一个XXMapper.java接口文件,每张表对应一个XXMapper.xml文件,每张表对应一个Entity的Java文件. 其中XXMappe ...
- springboot 使用mybatis 通用Mapper,pagehelper
首先需要maven导入需要的包,这里用的是sqlserver,druid,jtds连接数据库 <dependency> <groupId>com.alibaba</gro ...
- springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+freemarker+layui
前言: 开发环境:IDEA+jdk1.8+windows10 目标:使用springboot整合druid数据源+mysql+mybatis+通用mapper插件+pagehelper插件+mybat ...
- Spring boot后台搭建一使用MyBatis集成Mapper和PageHelper
目标: 使用 Spring boot+MyBatis+mysql 集成 Mapper 和 PageHelper,实现基本的增删改查 先建一个基本的 Spring Boot 项目开启 Spring B ...
- Springboot集成mybatis通用Mapper与分页插件PageHelper
插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 Example 相关的单表操作.通用 Mapper 是为了解决 MyBatis 使用 ...
- Spring boot集成 MyBatis 通用Mapper
配置 POM文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- (一 、上)搭建简单的SpringBoot + java + maven + mysql + Mybatis+通用Mapper 《附项目源码》
最近公司一直使用 springBoot 作为后端项目框架, 也负责搭建了几个新项目的后端框架.在使用了一段时间springBoot 后,感觉写代码 比spring 更加简洁了(是非常简洁),整合工具也 ...
- Mybatis通用Mapper(转)
转自:http://blog.csdn.net/isea533/article/details/41457529 极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschi ...
随机推荐
- csu 1901: 赏赐 OR 灾难
1901: 赏赐 OR 灾难 Submit Page Summary Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 86 ...
- WebRoot/WEBINF下的classes文件内无法生成编译文件,classes下没有文件,eclipse无法编译项目
其实主要问题还是一个eclipse配置的问题. 如下图.将这一项的勾取消掉. 转自:https://blog.csdn.net/qq_36443497/article/details/79684231
- kubernetes 部署ingress
kubernetes Ingess 是有2部分组成,Ingress Controller 和Ingress服务组成,常用的Ingress Controller 是ingress-nginx,工作的原理 ...
- uboot-的start.S详细注解及分析
原文地址:uboot-的start.S详细注解及分析 作者:zhouyg11 大多数bootloader都分为stage1和stage2两部分,u-boot也不例外.依赖于CPU体系结构的代码(如设备 ...
- Centos7.3 为php7 安装swoole 扩展
今天心血来潮想在服务器上安装一下swoole扩展 下面列一下教程: xshell进入你的服务器 然后目录自选吧 反正我放在根目录了 下面是扩展链接: wget https://github.co ...
- PAT-1015 Reversible Primes (20 分) 进制转换+质数
A reversible prime in any number system is a prime whose "reverse" in that number system i ...
- office2019激活码 最新各个版本激活码
office2019专业版激活码 激活秘钥 一.office2019激活6月更新 [Key]:F4QWT-NMMKH-XPTV9-W9HFB-B4JCQ [剩余次数:900000+] office20 ...
- vue-cli中eslint配置
在项目目录下找到.eslintrc.js文件,使用编辑器打开进行编辑.在rules下添加space-before-function-paren.space-before-blocks.及semi的配置 ...
- JSP开发 路径问题汇总
//第一种 jsp 表达式 <%=request.getContextPath %> 获取到 web项目名的绝对路径 <!--使用绝对路径的方式引入CSS文件--> <l ...
- HTTP method GET is not supported by this URL
Servlet eroor:HTTP method GET is not supported by this URL 错误提示: type: Status report message: HTTP m ...