SpringBoot整合MyBatis+(PageHelper)分页插件
2019-06-13 18:41
423 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43301471/article/details/91883957
第一步:导入相关依赖
以下依赖是我pom.xml文件中的依赖,需要包裹在
<dependencies></dependencies>里面,
<dependency> <!--web端的连接依赖--> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--boot整合MyBatis时的依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version> </dependency> <!--MySq数据库连接时的依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!--yml文件提示的配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> <!--使用实体类时的依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!--单元测试时间的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency>
第二步:配置application.yml文件:
我们刚开始的后缀名可能是properties然而我改为了yml文件
yml文件里需要utf-8编码,否则注解就会中文乱码
#数据库的配置 spring: datasource: #数据库配置,后面的?serverTimezone=GMT是时区配置若这串代码前还有别的代码并且已经把?(问号占用) 那么你如果再调用这个更改时区方法的时候就需要用(&)与来连接比如:?chrome=utf8&serverTimezone=GMT url: jdbc:mysql://localhost:3306/userdb?serverTimezone=GMT username: root password: root driver-class-name: com.mysql.cj.jdbc.Driver #MyBatis的配置 mybatis: configuration: #sql显示日志 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #数据库中如果有debe_name的字段,那么下划线(_)后面的英语就会被大写,因为要与实体类来对应 map-underscore-to-camel-case: true #配置的时mapper文件的路径 mapper-locations: classpath:com/hyl/*/mapper/*Mapper.xml #PageHelper的配置 pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true params: count=countSql
第三步:启动类中的文件
package com.hyl; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication //这里有两个文件夹所以才需要这个*号来把所有文件夹里面的dao接口扫描 //主要还是因为我们的三层架构,在下面会向大家讲解 @MapperScan("com.hyl.*.dao") public class Hyl006Application { public static void main(String[] args) { SpringApplication.run(Hyl006Application.class, args); } }
第四步:创建包:共三层,
然后到现在我们的配置和创建已经干完了,接下来我们需要用到一个板块来讲解此次整合
我直接给出源码,方便小伙伴们更好的看透析
1、Pojo文件夹下的Debe实体类
package com.hyl.debe.pojo; import lombok.Data; import lombok.ToString; @Data @ToString public class Debe { private Integer id; private String deve_name; }
2、为了接下来你们能更快的体验到整合那我就把表结构也奉上吧!不过数据自己填哦
create table debe( id int primary key auto_increment, deve_name varchar(10) not null )
3、Mapper.xml的方法,在这里我需要着重说一下,以前可能我们的mapper文件夹是在resource文件夹下创建的,但是如果在真正开发中是要放在java根目录下,
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.hyl.debe.dao.DebeMapper"> <select id="findList" resultType="com.hyl.debe.pojo.Debe"> select * from debe /*这是查全部的方法,但是后边的PageHelper也是需要在这个方法体上的*/ </select> </mapper>
4、接下来是Dao层的方法,在这我们也就网页分页像大家传个参
package com.hyl.debe.dao; import com.hyl.debe.pojo.Debe; import java.util.List; public interface DebeMapper { List<Debe> findList(); }
5、Service层的方法,在这里参数和上次就不一样了,因为Service的参数是需要给实现层用的,所以我们为了美观点就写上:
package com.hyl.debe.service; import com.hyl.debe.pojo.Debe; import java.util.List; public interface DebeService { List<Debe> findList(int a,int b);//里面传的是参,相当于PageNum,PageSize }
6、ServiceImpl(实现层里代码就需要实现PageHelper)所以我们的分页和整合都放到了一起,就不单独分开解说了,但是我会标明分页工具和整合代码的分工
package com.hyl.debe.serviceimpl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.hyl.debe.dao.DebeMapper; import com.hyl.debe.pojo.Debe; import com.hyl.debe.service.DebeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class DebeServiceImpl implements DebeService { @Autowired private DebeMapper debeMapper;//这个如果导入之后有错但并没关系 @Override public PageInfo findList(int pageNum,int pageSize) {//传的两个值 PageHelper.startPage(pageNum,pageSize);//这是把页码和条数写了上方便在浏览器上写 List<Debe> list=debeMapper.findList(); //调用了查询方法 PageInfo page = new PageInfo<>(list); //PageInfo相当于又把list给封装了一遍 return page; //返回了一个分页对象 } }
7、控制层的代码并没有什么特别的,只是返回了方法
package com.hyl.debe.controller; import com.github.pagehelper.PageInfo; import com.hyl.debe.pojo.Debe; import com.hyl.debe.service.DebeService; import com.hyl.user.pojo.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.xml.ws.Service; import java.util.List; @RestController @RequestMapping("/debe") public class DebeController { @Autowired private DebeService debeService; @RequestMapping("/two") public PageInfo findlist(int pageNum,int PageSize){ return debeService.findList(pageNum,PageSize); } }
此时我们来测试一下。访问接口
结果:
分页此时已经做了出来,看看我们控制台返回的数据
这个PageHelper工具最大的好处就是sql语句后面加上了(limit)
所以我们一定要更好的利用现在所有的工具。到这此篇博客已经完成,欢迎提问
相关文章推荐
- springboot整合mybatis和pageHelper分页插件
- SpringBoot_thymeleaf_mybatis和PageHelper分页插件整合
- Mybatis分页插件 - PageHelper与springBoot的整合
- Spring Boot整合Mybatis-Plus和PageHelper分页插件,附项目源码
- spring boot 整合mybatis 分页插件pagehelper
- springboot整合mybatis之分页插件pagehelper
- springboot+Mybatis整合pageHelper分页插件
- SpringBoot Mybatis PageHelper分页插件的两种用法(一)
- springboot整合pagehelper分页插件
- springboot2.0.5集成mybatis(PageHelper分页插件、generator插件使用)
- [置顶] MyBatis基于Spring-boot集成通用Mapper以及pagehelper分页插件(含源码下载)
- spring-boot 集成mybatis的分页插件PageHelper和Generator
- Spring Boot 配置 Mybatis 通用 Mapper 和 pagehelper 分页插件
- springboot整合pagehelper分页插件
- 记录问题:springboot中使用Mybatis-pagehelper分页插件遇到的版本兼容问题
- spring-boot 集成mybatis的分页插件PageHelper版本问题
- [分页查询]SpringBoot整合PageHelper分页插件实现简单的分页查询(含前端及后端代码)
- springboot+mybatis使用分页插件pageHelper
- springboot使用之二:整合mybatis(xml方式)并添加PageHelper插件
- SpringBoot集成MyBatis的分页插件PageHelper(回头草)