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实现分页查询的功能的更多相关文章

  1. Spring Boot整合Mybatis并完成CRUD操作

    MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官 ...

  2. spring boot 整合 mybatis 以及原理

    同上一篇文章一样,spring boot 整合 mybatis过程中没有看见SqlSessionFactory,sqlsession(sqlsessionTemplate),就连在spring框架整合 ...

  3. Spring Boot 整合mybatis时遇到的mapper接口不能注入的问题

    现实情况是这样的,因为在练习spring boot整合mybatis,所以自己新建了个项目做测试,可是在idea里面mapper接口注入报错,后来百度查询了下,把idea的注入等级设置为了warnin ...

  4. Spring Boot整合Mybatis报错InstantiationException: tk.mybatis.mapper.provider.base.BaseSelectProvider

    Spring Boot整合Mybatis时一直报错 后来发现原来主配置类上的MapperScan导错了包 由于我使用了通用Mapper,所以应该导入通用mapper这个包

  5. Spring Boot整合MyBatis(非注解版)

    Spring Boot整合MyBatis(非注解版),开发时采用的时IDEA,JDK1.8 直接上图: 文件夹不存在,创建一个新的路径文件夹 创建完成目录结构如下: 本人第一步习惯先把需要的包结构创建 ...

  6. Spring Boot整合Mybatis完成级联一对多CRUD操作

    在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...

  7. Spring Boot系列(三):Spring Boot整合Mybatis源码解析

    一.Mybatis回顾 1.MyBatis介绍 Mybatis是一个半ORM框架,它使用简单的 XML 或注解用于配置和原始映射,将接口和Java的POJOs(普通的Java 对象)映射成数据库中的记 ...

  8. 太妙了!Spring boot 整合 Mybatis Druid,还能配置监控?

    Spring boot 整合 Mybatis Druid并配置监控 添加依赖 <!--druid--> <dependency> <groupId>com.alib ...

  9. Spring Boot 整合 Redis 和 JavaMailSender 实现邮箱注册功能

    Spring Boot 整合 Redis 和 JavaMailSender 实现邮箱注册功能 开篇 现在的网站基本都有邮件注册功能,毕竟可以通过邮件定期的给用户发送一些 垃圾邮件 精选推荐

  10. Spring Boot 整合 Mybatis 实现 Druid 多数据源详解

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “清醒时做事,糊涂时跑步,大怒时睡觉,独处时思考” 本文提纲一.多数据源的应用场景二.运行 sp ...

随机推荐

  1. flutter Slivers

    一. Slivers 我们考虑一个这样的布局:一个滑动的视图中包括一个标题视图(HeaderView),一个列表视图(ListView),一个网格视图(GridView). 我们怎么可以让它们做到统一 ...

  2. Object.assign() 方法浅析

    Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. const target = { a: 1, b: 2 ,c:3,e:6}; cons ...

  3. docker脚本自动化安装

    1.编译构建镜像编写一个.sh的脚本,用于在linux中构建已发布项目的镜像,构建成功之后再导出镜像------该镜像是docker-compose.yml中需要用到的镜像文件 功能:使用docker ...

  4. jmeter使用Java请求二

    继承 AbstractJavaSamplerClient类来实现jar编辑 来写jmeter测试脚本 将如下两个包引入Java项目: ApacheJMeter_core.jar ApacheJMete ...

  5. “adb”不是内部或外部命令——解决方案

    在AS(Android Studio简称AS)app真机测试中adb可以轻松找到安卓设备,ADB全称Android Debug Bridge,用于Android设备进行交互,也可以这样理解ADB是An ...

  6. Linux&Android相关常用命令汇总记录

    Linux&Android相关常用命令汇总记录 0@Linux&Android系统命令行下如何查看命令的帮助信息: command --help 1@在Linux系统中,设备分为三类, ...

  7. DataTable操作汇总

    1.排序 DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("Age" ...

  8. docker 启动 重启命令

    启动        systemctl start docker 守护进程重启   sudo systemctl daemon-reload 重启docker服务   systemctl restar ...

  9. Ngrinder(性能测试工具)-(一)

    一.ngrinder介绍 nGrinder 是基于Grinder开源项目,由NHN公司的开发团队进行了重新设计和完善. nGrinder 是一款非常易用,有简洁友好的用户界面 和 controller ...

  10. 1238. 循环码排列 (Medium)

    问题描述 1238. 循环码排列 (Medium) 给你两个整数 n 和 start.你的任务是返回任意 (0,1,2,,...,2^n-1) 的排列 p,并且满足: p[0] = start p[i ...