网站的关键词库怎么做,电子商务网站建设的结论,深圳市品牌策划公司,深圳网站建设小程序前言 「作者主页」#xff1a;雪碧有白泡泡 「个人网站」#xff1a;雪碧的个人网站 「推荐专栏」#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄#xff…前言 「作者主页」雪碧有白泡泡 「个人网站」雪碧的个人网站 「推荐专栏」 ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄vue成神之路★ ★ 解决算法一个专栏就够了★ ★ 架构咱们从0说★ ★ 数据流通的精妙之道★ ★后端进阶之路★ 文章目录 前言Spring boot基本demo启动新建项目添加依赖项构建maven基本项目完成更改文件后缀添加基础依赖项 ——配置文件提示与lombok 常见错误——maven1.未正确配置setting.xml文件2.未配置阿里云国内镜像pom.xml文件 springboot连接MySQL新建项目连接数据库添加依赖 编辑application.yml配置文件成功运行测试一下是是否链接成功 SpringBoot 整合 MyBatis 操作 MySql先给出数据库添加依赖项修改 SpringBoot 配置文件创建实体类创建 Mapper 接口创建 Service 与接口测试接口 SpringBoot 整合 MyBatis-Plus 实现分页查询构建查询数据添加依赖实体类Mapper 接口编写 Mapper.xmlService提供分页查询接口新增分页拦截器 清华出版社送书活动 当我们拿到项目需求后有时候可能会感到迷茫不知道整体流程和接下来该做什么。为了能够不断实战并快速提高自己我们需要找到适合自己的一套开发流程。这样我们就能够有条不紊地进行项目开发并且及时发现和修正自己的不足之处。 以最常用的java全栈开发为例这个系列以MySQL数据库后端以SpringBootMybatisPlusRedisSpring security前端以vue微信小程序的技术栈组合进行步骤细化。 根据上文 全栈开发流程——数据表的分析与创建详解实战演示一我们讨论了建立数据库的详细过程 再此篇文章讲述后端的启动以及数据源的连接如下:
Spring boot基本demo启动
新建项目 添加依赖项 构建maven 基本项目完成 更改文件后缀 新建 Spring Boot 项目后resources 目录下有一个默认的全局配置文件 application.properties(空文件)Spring Boot 在底层已经自动配置好了默认配置。 默认的文件类型是 .properties我们这边修改为 .yml原因是 .yml 更加灵活、简洁 添加基础依赖项 ——配置文件提示与lombok
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional
/dependency
!--lombok依赖--
dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional
/dependency
再引入一个常用的工具包依赖 !-- hutool 工具包 --dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.7.22/version/dependency常见错误——maven
1.未正确配置setting.xml文件 打开Maven文件下conf/setting.xml文件找到如图所示位置如若未设置本地库的位置则如黄色路径所示在C:\Users\用户名.m2。设置了路径则采用的是红色默认位置。IDEA下使用Maven未在全局设置中设置Maven Home Dictionary则使用默认位置 根据路径找到repository删除库中对应的包文件重新导入。 2.未配置阿里云国内镜像
尝试多次重新导入仍然无法运行原因是此时网段无法访问maven.org网站可采用阿里云镜像操作打开maven安装文件夹的conf文件夹下的settings.xml文件在如图所示位置配置如下
完成后先执行第一步操作后重新导入包。 复制代码
mirrorsmirroridalimaven/idnamealiyun maven/nameurlhttp://maven.aliyun.com/nexus/content/repositories/central//urlmirrorOfcentral/mirrorOf/mirror/mirrors3.爆红 如图修改即可
pom.xml文件
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.15/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.example/groupIdartifactIdspringboot-demo/artifactIdversion0.0.1-SNAPSHOT/versionnamespring boot-demo/namedescriptionspring boot-demo/descriptionpropertiesjava.version17/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependency!--lombok依赖--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- hutool 工具包 --dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.7.22/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project
以上为 springboot 的 demo 项目全部过程
springboot连接MySQL
新建项目 连接数据库 添加依赖 !-- mysql --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.17/versionscoperuntime/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jdbc/artifactId/dependency
编辑application.yml配置文件
数据源和连接池
# 数据源
spring:datasource:username: rootpassword: 123456url: jdbc:mysql://localhost:3306/schooldb?useUnicodetruecharacterEncodingutf-8driver-class-name: com.mysql.cj.jdbc.Driverhikari:# 连接池最大连接数maximum-pool-size: 12# 空闲时保持最小连接数minimum-idle: 5# 空闲连接存活时间idle-timeout: 300000# 连接超时时间connection-timeout: 20000# 测试sqlconnection-test-query: select 1成功运行 测试一下是是否链接成功 import javax.sql.DataSource;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;SpringBootTest
public class DataSourceTests {Autowired private DataSource dataSource;Testpublic void testConnection() throws Exception {System.out.println(dataSource.getConnection());}
}成功连接数据库 代码中使用了Spring Boot的注解SpringBootTest来标注测试类表明这是一个Spring Boot的测试类并且会加载整个Spring应用程序上下文。 通过Autowired注解将名为dataSource的DataSource实例自动注入进来。DataSource是一个接口它是Spring提供的用于创建和管理数据库连接的工具并且可以处理数据库连接的打开、关闭和连接池管理等操作。在Test注解的方法testConnection中通过调用getConnection()方法来获取一个数据库连接并将其打印出来。如果一切正常将会打印出一个数据库连接对象。 SpringBoot 整合 MyBatis 操作 MySql
先给出数据库
CREATE DATABASE mydemo;USE mydemo;DROP TABLE IF EXISTS sys_user;CREATE TABLE sys_user (user_id bigint NOT NULL,username varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 用户名,PRIMARY KEY (user_id),KEY user_idx1_username (username)
) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci ROW_FORMATDYNAMIC COMMENT用户表;INSERT INTO sys_user (user_id, username) VALUES (1, 雪碧);
INSERT INTO sys_user (user_id, username) VALUES (2, 可乐);添加依赖项 !-- mybatis --dependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.2.2/version/dependency
修改 SpringBoot 配置文件
除数据源和连接池外还有mybatis的mapper和mapper.xml位置
spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456url: jdbc:mysql://127.0.0.1:3306/schooldb?useUnicodetruecharacterEncodingUTF-8serverTimezoneUTChikari:# 连接池最大连接数maximum-pool-size: 12# 空闲时保持最小连接数minimum-idle: 5# 空闲连接存活时间idle-timeout: 300000# 连接超时时间connection-timeout: 20000# 测试sqlconnection-test-query: select 1# mybatis 配置
mybatis:mapper-locations:- classpath:mapper/*.xml- classpath*:com/**/mapper/*.xml
创建实体类
package com.example.mybatisdemo.model;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;Data
ToString
Builder
NoArgsConstructor
AllArgsConstructorpublic class User {private Long userId;private String username;
}
创建 Mapper 接口
package com.example.mybatisdemo.mapper;import com.example.mybatisdemo.model.User;
import org.apache.ibatis.annotations.Mapper;Mapper
public interface SysUserMapper {/*** 根据用户ID查询用户信息** param userId 用户ID* return 用户信息*/User queryUserById(Long userId);
}这段代码是一个MyBatis的Mapper接口被注解为Mapper表示该接口是MyBatis的映射器接口。 Mapper接口是定义与数据库交互的方法的接口通过MyBatis配置文件与SQL语句进行映射。其中SysUserMapper接口定义了一个查询用户信息的方法queryUserById该方法接受一个userId参数返回一个User对象。 该接口的实现是由MyBatis框架自动创建并且会根据接口方法的注解和参数类型来动态生成SQL语句以实现数据库操作。## 创建 Mapper 映射文件 根据 mybatis.mapper-locations 配置地址创建 Mapper 映射文件
?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.example.mybatisdemo.mapper.SysUserMapper!-- 通用查询映射结果 --resultMap idbaseResultMap typecom.example.mybatisdemo.model.Userid columnuser_id propertyuserId/result columnusername propertyusername//resultMapselect idqueryUserById resultMapbaseResultMapselect *from sys_userwhere user_id #{userId}/select
/mapper创建 Service 与接口
Service
package com.example.mybatisdemo.service;import com.example.mybatisdemo.mapper.SysUserMapper;
import com.example.mybatisdemo.model.User;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;Service
RequiredArgsConstructor
public class UserService {private final SysUserMapper sysUserMapper;/*** 根据用户ID查询用户信息** param userId 用户ID* return 用户信息*/public User queryUserById(Long userId) {return sysUserMapper.queryUserById(userId);}
}接口
package com.example.mybatisdemo.controller;import com.example.mybatisdemo.model.User;
import com.example.mybatisdemo.service.UserService;import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
RequiredArgsConstructor
RequestMapping(/user)
public class UserController {private final UserService UserService;GetMapping(/{userId})public ResponseEntityUser queryUserById(PathVariable Long userId) {return ResponseEntity.ok(UserService.queryUserById(userId));}
} 这段代码是一个基于Spring Boot的RESTful风格的控制器类。它使用RestController注解标识该类为一个控制器并将返回的数据直接作为HTTP响应体进行返回。 RequiredArgsConstructor是一个Lombok注解它会为控制器类生成一个包含所有final修饰的成员变量的构造函数。RequestMapping(“/user”)用于映射URL路径即指定该控制器的基本URL路径为/user。UserController类的构造函数接受一个UserService类型的参数并使用final修饰符标识为成员变量表示该类依赖于UserService。 GetMapping(“/{userId}”)用于映射GET请求的URL路径。{userId}是一个路径变量表示一个具体的用户ID。public ResponseEntityqueryUserById(PathVariable Long userId)方法是该控制器的处理方法用于根据用户ID查询用户信息。它使用PathVariable注解将URL路径中的路径变量userId绑定到方法的参数上。该方法使用UserService调用queryUserById方法查询用户信息并将结果包装成ResponseEntity对象返回ResponseEntity.ok(UserService.queryUserById(userId))表示请求成功响应状态码为200并将用户信息作为响应体返回。 测试接口 案例成功 SpringBoot 整合 MyBatis-Plus 实现分页查询 构建查询数据
CREATE DATABASE mydemo;USE mydemo;DROP TABLE IF EXISTS sys_user;CREATE TABLE sys_user (user_id bigint NOT NULL,username varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 用户名,PRIMARY KEY (user_id),KEY user_idx1_username (username)
) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_general_ci ROW_FORMATDYNAMIC COMMENT用户表;INSERT INTO sys_user (user_id, username) VALUES (1, 雪碧);
INSERT INTO sys_user (user_id, username) VALUES (2, 可乐);-- 创建岗位信息表
CREATE TABLE sys_post (post_id bigint NOT NULL AUTO_INCREMENT COMMENT 岗位ID,post_code varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 岗位编码,post_name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT 岗位名称,post_sort int NOT NULL COMMENT 岗位排序,del_flag char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT 0 COMMENT 是否删除 -1已删除 0正常,create_time datetime DEFAULT NULL COMMENT 创建时间,create_by varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT COMMENT 创建人,update_time datetime DEFAULT NULL COMMENT 更新时间,update_by varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT COMMENT 更新人,remark varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT 备注信息,PRIMARY KEY (post_id) USING BTREE
) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_bin ROW_FORMATDYNAMIC COMMENT岗位信息表;-- 向岗位信息表插入数据
INSERT INTO sys_post VALUES (11, user8, 员工8, 10, 0, 2023-03-16 13:14:20, admin, 2023-06-26 13:14:20, admin, 打工人);
INSERT INTO sys_post VALUES (2, cto, cto, 0, 0, 2023-03-16 13:14:20, admin, 2023-06-26 13:14:20, admin, 秃头大佬);
INSERT INTO sys_post VALUES (3, user, 董事长, -1, 0, 2023-03-16 13:14:20, admin, 2023-06-26 13:14:20, admin, 资本家);
INSERT INTO sys_post VALUES (4, user1, 员工1, 3, 0, 2023-03-16 13:14:20, admin, 2023-06-26 13:14:20, admin, 打工人);
INSERT INTO sys_post VALUES (5, user2, 员工2, 4, 0, 2023-03-16 13:14:20, admin, 2023-06-26 13:14:20, admin, 打工人);
INSERT INTO sys_post VALUES (6, user3, 员工3, 5, 0, 2023-03-16 13:14:20, admin, 2023-06-26 13:14:20, admin, 打工人);
INSERT INTO sys_post VALUES (7, user4, 员工4, 6, 0, 2023-03-16 13:14:20, admin, 2023-06-26 13:14:20, admin, 打工人);
sys_user添加依赖
!-- Mysql 数据库驱动 --
dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdscoperuntime/scope
/dependency
!-- mybatis-plus --
dependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.5.1/version
/dependency
实体类 package com.example.mybatisplusdemo.model;import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;import lombok.Getter;
import lombok.Setter;import java.io.Serializable;
import java.time.LocalDateTime;Getter
Setter
public class BaseEntity implements Serializable {/*** 创建者*/TableField(fill FieldFill.INSERT)private String createBy;/*** 创建时间*/TableField(fill FieldFill.INSERT)private LocalDateTime createTime;/*** 更新者*/TableField(fill FieldFill.INSERT_UPDATE)private String updateBy;/*** 更新时间*/TableField(fill FieldFill.INSERT_UPDATE)private LocalDateTime updateTime;}package com.example.mybatisplusdemo.model;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;import lombok.Data;
import lombok.EqualsAndHashCode;/*** 岗位管理** author Strive* date 2022-03-15 17:18:40*/
Data
TableName(sys_post)
EqualsAndHashCode(callSuper true)public class Post extends BaseEntity {private static final long serialVersionUID -8744622014102311894L;/*** 岗位ID*/TableId(type IdType.ASSIGN_ID)private Long postId;/*** 岗位编码*/private String postCode;/*** 岗位名称*/private String postName;/*** 岗位排序*/private Integer postSort;/*** 是否删除 -1已删除 0正常*/private String delFlag;/*** 备注信息*/private String remark;}package com.example.mybatisplusdemo.model;import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;/** author Strive */
Data
ToString
Builder
NoArgsConstructor
AllArgsConstructorTableName(sys_user)
public class User {TableIdprivate Long userId;private String username;
}Mapper 接口 package com.example.mybatisplusdemo.mapper;import cn.hutool.db.Page;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.mybatisplusdemo.model.Post;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;Mapper
public interface PostMapper extends BaseMapperPost {IPagePost selectPageSql(Param(page) Page page, Param(query) Post mingYuePost);
}
其中定义了一个selectPageSql方法用于分页查询Post表的数据。方法参数使用了Param注解来给参数取别名方便在SQL语句中使用。 其中Param(“page”)表示分页参数Param(“query”)表示查询条件。方法返回值类型为IPage表示查询结果的分页对象。IPage是MybatisPlus框架提供的分页对象它包含了查询结果的总数、当前页码、每页记录数等信息。 这段代码可以实现根据指定的分页参数和查询条件查询Post表的数据并返回分页对象。 package com.example.mybatisplusdemo.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.example.mybatisplusdemo.model.User;
import org.apache.ibatis.annotations.Mapper;Mapper
public interface UserMapper extends BaseMapperUser {}编写 Mapper.xml ?xml version1.0 encodingUTF-8?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.example.mybatisplusdemo.mapper.PostMapperresultMap idPostMap typecom.example.mybatisplusdemo.model.Postid propertypostId columnpost_id/result propertypostCode columnpost_code/result propertypostName columnpost_name/result propertypostSort columnpostSort/result propertydelFlag columndel_flag/result propertycreateTime columncreate_time/result propertycreateBy columncreate_by/result propertyupdateTime columnupdate_time/result propertyupdateBy columnupdate_by/result propertyremark columnremark//resultMapselect idselectPageSql resultMapPostMapSELECT p.post_id,p.post_name,p.post_code,p.post_sort as postSort,p.del_flag,p.create_time,p.update_time,p.update_by,p.create_by,p.remarkFROM sys_post pwherep.del_flag 0if testquery.postName ! null and query.postName ! bind namepostNameLike value% query.postName % /and p.post_name LIKE #{postNameLike}/if/whereif testnull ! page.ordersinclude refiddynamicOrder/include/if/select!-- 动态排序 --sql iddynamicOrderORDER BYchoosewhen testpage.orders ! null and page.orders.size 0foreach collectionpage.orders itemorder separator,${order.column}choosewhen testorder.asc trueasc/whenotherwisedesc/otherwise/choose/foreach/when/choose/sql
/mapper
Service package com.example.mybatisplusdemo.service;import cn.hutool.db.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import com.example.mybatisplusdemo.mapper.PostMapper;
import com.example.mybatisplusdemo.model.Post;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;Slf4j
Service
RequiredArgsConstructor
public class PostService extends ServiceImplPostMapper, Post {private final PostMapper PostMapper;public IPagePost pageSql(Page page, Post Post) {return PostMapper.selectPageSql(page, Post);}
}package com.example.mybatisplusdemo.service;import com.example.mybatisplusdemo.mapper.UserMapper;
import com.example.mybatisplusdemo.model.User;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;Slf4j
Service
RequiredArgsConstructor
public class UserService {private final UserMapper sysUserMapper;/*** 根据用户ID查询用户信息** param userId 用户ID* return 用户信息*/public User queryUserById(Long userId) {log.info(根据用户ID查询用户信息);return sysUserMapper.selectById(userId);}
}提供分页查询接口 package com.example.mybatisplusdemo.controller;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplusdemo.model.Post;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;RestController
RequiredArgsConstructor
RequestMapping(/post)
public class PostController {private final com.example.mybatisplusdemo.service.PostService PostService;GetMapping(/page)public ResponseEntityIPagePost page(PagePost page) {return ResponseEntity.ok(PostService.page(page));}GetMapping(/pageSql)public ResponseEntityIPagePost pageSql(cn.hutool.db.Page page, Post Post) {return ResponseEntity.ok(PostService.pageSql(page, Post));}}package com.example.mybatisplusdemo.controller;import com.example.mybatisplusdemo.model.User;
import com.example.mybatisplusdemo.service.UserService;import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/** author Strive */RestController
RequiredArgsConstructor
RequestMapping(/user)
public class UserController {private final UserService UserService;GetMapping(/{userId})public ResponseEntityUser queryUserById(PathVariable Long userId) {return ResponseEntity.ok(UserService.queryUserById(userId));}
}新增分页拦截器 package com.example.mybatisplusdemo.config;import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;Configuration
public class MyBatisPlusConfig {/*** 分页插件*/Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}
这是一个用于配置MyBatis Plus的配置类。在这个类中我们定义了一个名为MyBatisPlusConfig的Configuration注解表示它是一个配置类。 该配置类中定义了一个名为mybatisPlusInterceptor的Bean注解方法用于创建一个MybatisPlusInterceptor对象。MybatisPlusInterceptor是MyBatis Plus提供的分页插件它可以用于实现数据库分页查询的功能。在mybatisPlusInterceptor方法中我们创建了一个MybatisPlusInterceptor对象并向其中添加了一个PaginationInnerInterceptor内部拦截器。内部拦截器用于处理分页查询的逻辑这里选择使用MySQL数据库作为数据源所以传入DbType.MYSQL参数。 通过这个配置我们可以将该分页插件集成到我们的MyBatis Plus配置中从而实现分页查询的功能。 由于篇幅问题剩余缓存内容在下一篇完成剩余内容为 此篇文章的全部代码为可以私信获取 清华出版社送书活动
以上技术栈主要为spring boot 当谈论Spring Boot时不可忽视的是它构建在Java之上。Java是一种广泛使用的编程语言具有跨平台性和强大的生态系统。Spring Boot的出现为Java开发者提供了更方便、更高效的方式来构建应用程序。 此外Java也是一种广泛使用的编程语言具有丰富的开发人员社区和大量的开源资源。通过学习和了解Java你将能够更好地理解Spring Boot框架的工作原理和内部机制并能够利用Java的强大功能来解决应用程序开发中的各种挑战。 为了让大家更好地学习java全栈开发流程系列文章开展送书环节 出版日期 2023/6/1最新版 京东链接 当当网 本次送书1-3本【取决于阅读量阅读量越多送的越多】⌛️活动时间截止到2023-9月13号✳️参与方式关注博主三连评论人生苦短我爱java最多可评论三条