实验: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 ...
随机推荐
- 初学银河麒麟linux笔记 第六章 发布qt程序
本章参考了@长沙红胖子Qt 的笔记 https://blog.51cto.com/hongpangzi/5788384 这里纪录一下步骤 linux上的QT程序已经能正常编译运行,这里需要进行发布. ...
- 初学银河麒麟linux笔记 第三章 QT缺少的模块下载、更新软件源操作
在共享文件夹里将WINDOWS里已经编写好的QT程序编译之后,提示 Qt5: Unknown module(s) in QT: serialport 经查询,需要安装对应的模块库,写入 sudo ap ...
- 登录注册的小项目对比.Net Core与 .Net Framework的一些区别
一.需求: 1.功能只有登录.注册. 二.架构: 1.分别为 UserSys.IServices:主要有实体和对实体的配置,还有对实体的操作接口 UserSys.Services :主要是对自ISer ...
- FSL--fsleyes建立软连接方法
在使用conda下载完fsleyes后,还是显示not found ,无法使用怎么办? 1.首先在/anaconda/envs/fslpython/bin/ 中搜索 fsleyes 确定已经下载好 ...
- KingbaseES V8R3集群维护案例之---pcp_node_refresh应用
案例说明: 在一次KingbaseES V8R3集群切换分析中,运维人员执行了pcp_node_refresh,导致集群发生了failover的切换.此文档对pcp_node_refresh工具做了应 ...
- -bash: pip: command not found
使用pip安装软件包时报错命令不存在 [root@test ~]# pip -V -bash: pip: command not found 机器上没有安装pip,需要手动进行安装 centos系统: ...
- vue 简单原理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- IaaS--区域和可用区(何恺铎《深入浅出云计算》笔记整理)
[关键概念] IaaS(Infrastructure as a Service):即"基础设施即服务",一般指云计算所提供的计算.存储.网络等基本底层能力.是基于软件技术对物理硬件 ...
- [转]有限状态机FSM(finite state machine) 一
有限状态机FSM(finite state machine) 一 有限状态机又称有限自动状态机,它拥有有限数量的状态,每个状态代表不同的意义,每个状态可以切换到 零-多 个状态.任意时刻状态机有且只能 ...
- 阻塞I/O,非阻塞I/O,同步I/O,异步I/O
根据应用程序是否阻塞自身运行分为: 阻塞I/O:是指应用程序在执行I/O操作后,如果没有获得响应, 就会阻塞当前线程,不能执行其他任务. 非阻塞I/O:是指应用程序在执行I/O操作后 ...