实验:spring-boot整合mybatis-plus实现分页查询的功能
1.建立基于sping-boot的javaweb工程(java1.8)
按结构建立包

2.POM.XML添加支持mybatis-plus,sql,lombok

<!--mybatis-plus的springboot支持-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> </dependency>
<!--简化代码的工具包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
3.修改.yml内容


mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql日志
map-underscore-to-camel-case: true
# 该配置就是将带有下划线的表字段映射为驼峰格式的实体类属性
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test_db?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
username: root
password: 123456
4.bean文件:对照mysql数据表,同名

package com.yan.plus.mybatisplus.bean;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data; @Data
public class Person { @TableId
private Integer id;
private String name;
private Integer age; }
5.config文件,支持分页

package com.yan.plus.mybatisplus.config; import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; @Configuration
@ConditionalOnClass(value = {PaginationInterceptor.class})
public class MybatisPlusConfig { @Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
return paginationInterceptor;
} }
6.mapper文件

package com.yan.plus.mybatisplus.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yan.plus.mybatisplus.bean.Person; public interface PersonMapper extends BaseMapper<Person> { }
7.service文件,实现功能

package com.yan.plus.mybatisplus.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yan.plus.mybatisplus.bean.Person;
import com.yan.plus.mybatisplus.bean.PersonVo;
import com.yan.plus.mybatisplus.mapper.PersonMapper;
import org.springframework.stereotype.Service; import javax.annotation.Resource;
import java.util.List; @Service
public class PersonServiceImpl { @Resource
PersonMapper personMapper;
//查询全部
public List<Person> queryAll() {
return personMapper.selectList(null);
}
public Person queryById(Person person) {
return personMapper.selectById(person.getId());
} //添加一条数据
public int add(Person person) {
return personMapper.insert(person);
} //计数
public int count() {
QueryWrapper<Person> userQueryWrapper = new QueryWrapper<>();
return personMapper.selectCount(userQueryWrapper);
} //更新
// 通过ID修改信息
public void changeUserById(Person person) {
int num = personMapper.updateById(person);
System.out.println("影响行数:" + num);
} // 通过ID删除
public int deleteById(Person person) {
return personMapper.deleteById(person.getId());
} //分页查询----YTH
public PersonVo queryList(Integer current, Integer size){
PersonVo personVo = new PersonVo();
IPage<Person> page = new Page<>(current, size);
personMapper.selectPage(page, null);
personVo.setCurrent(current);
personVo.setSize(size);
personVo.setTotal(page.getTotal());
personVo.setPersonList(page.getRecords());
return personVo;
} }
8.应用增加扫描mapper

9.增加分页bean

---------------------------
10.测试

11。工程代码下载
链接:https://pan.baidu.com/s/1K290E7qHJFNtTLOInKcS4w
提取码:n9nd
--来自百度网盘超级会员V5的分享
实验:spring-boot整合mybatis-plus实现分页查询的功能的更多相关文章
- Spring Boot整合Mybatis并完成CRUD操作
MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官 ...
- spring boot 整合 mybatis 以及原理
同上一篇文章一样,spring boot 整合 mybatis过程中没有看见SqlSessionFactory,sqlsession(sqlsessionTemplate),就连在spring框架整合 ...
- Spring Boot 整合mybatis时遇到的mapper接口不能注入的问题
现实情况是这样的,因为在练习spring boot整合mybatis,所以自己新建了个项目做测试,可是在idea里面mapper接口注入报错,后来百度查询了下,把idea的注入等级设置为了warnin ...
- Spring Boot整合Mybatis报错InstantiationException: tk.mybatis.mapper.provider.base.BaseSelectProvider
Spring Boot整合Mybatis时一直报错 后来发现原来主配置类上的MapperScan导错了包 由于我使用了通用Mapper,所以应该导入通用mapper这个包
- Spring Boot整合MyBatis(非注解版)
Spring Boot整合MyBatis(非注解版),开发时采用的时IDEA,JDK1.8 直接上图: 文件夹不存在,创建一个新的路径文件夹 创建完成目录结构如下: 本人第一步习惯先把需要的包结构创建 ...
- Spring Boot整合Mybatis完成级联一对多CRUD操作
在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...
- Spring Boot系列(三):Spring Boot整合Mybatis源码解析
一.Mybatis回顾 1.MyBatis介绍 Mybatis是一个半ORM框架,它使用简单的 XML 或注解用于配置和原始映射,将接口和Java的POJOs(普通的Java 对象)映射成数据库中的记 ...
- 太妙了!Spring boot 整合 Mybatis Druid,还能配置监控?
Spring boot 整合 Mybatis Druid并配置监控 添加依赖 <!--druid--> <dependency> <groupId>com.alib ...
- Spring Boot 整合 Redis 和 JavaMailSender 实现邮箱注册功能
Spring Boot 整合 Redis 和 JavaMailSender 实现邮箱注册功能 开篇 现在的网站基本都有邮件注册功能,毕竟可以通过邮件定期的给用户发送一些 垃圾邮件 精选推荐
- Spring Boot 整合 Mybatis 实现 Druid 多数据源详解
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “清醒时做事,糊涂时跑步,大怒时睡觉,独处时思考” 本文提纲一.多数据源的应用场景二.运行 sp ...
随机推荐
- 关于CMDB
关于CMDB: CMDB运维管理平台是由CMDB开发团队,针对目前服务器运维.监控,批量管理提出的一个开源. 易用.实用的跨平台服务器运维管理平台. 统筹来说cmdb就是将已有的规则化运维技术规则到运 ...
- java学习一:java介绍及第一个helloword程序
1.java语言介绍 java是一门后台开发语言 大型web语言系统开发,app后台服务首选开发语言 java这门语言大特点:跨平台,安全性高,有丰富的类库 核心思想:面向对象 2.Jdk介绍 3.为 ...
- Unity中UGUI图片跟随文本自适应方法
字体和图片层级如下 Text添加Content Size Fitter Image设置锚点
- MySQL下载,安装,配置环境变量【0基础小白用】
一,下载 选择社区版的,下载地址:https://dev.mysql.com/downloads/installer/ ,选择离线安装包 二,安装 1,双击安装包文件,这里选择服务模式,会安装在默认 ...
- docker安装postgres并启用postgis扩展
镜像 查看所有镜像 docker images 可以直接拉取postgis镜像 docker pull postgis 也可以在已有镜像上安装postgres,再启用扩展: docker pull p ...
- ubuntu 删除容器内没用的包
删除多余 apt 包 这些就是依赖的所有动态链接库,接着我们将这些包用 apt-mark 声明为"手工安装的包",即可阻止 apt purge 的自动卸载. 然后,我们再自动卸载其 ...
- 关于之前ecplices没法正常导入使用fx包的笔记
办法一:在java build path里的libraries里导入跟工作环境版本(或者ecplices的jdk版本)相配的jar包. 注:如果导入的包是要用fx的,可以不直接改整个程序的工作环境,可 ...
- centos7.6安装rz命令上传文件
centos7.6安装rz命令 1.执行安装命令:yum -y install lrzsz 2.进行上传操作:rz 跳转到本地文件选择后即可上传
- git 修改 .gitignore 不生效
在使用 Git 时候,发现在 .gitignore 文件中添加内容后,推送成功后并没有生效. 出错原因: .gitignore 文件的内容不对历史文件生效 情景复现: 1. 远端已经有了 .idea ...
- echarts学习
一.安装与引入 1.安装npm install echarts --save 2.引入import * as echarts from 'echarts';(main.js里全局引入) 二.详细概念 ...