实验: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的分享
分类:
工程实验
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端