提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
诸位道友,今末法时代,欲寻破局之法,然大道三千,殊途而同归,纵使困顿难行,亦当砥砺奋进。尝记己之学履,愿与诸君共述而广博。
一、开发环境
JDK版本:JDK 17
Spring Boot版本:Spring Boot 3.2.2
MySQL版本:8.0.37
构建工具:Maven
二、开发工具
三、准备工作
1.创建数据库用户表
代码如下:
CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8m
2.用idea新建spring boot
2.1 新建项目
打开idea左上角文件,选择新建项目。
左侧生成器选择springboot,右侧项目名称和存放位置自选,完成后点击Next
依赖项勾选3个,springweb一定要选,其他两个,Lombok是通过注释生成类的getset方法,还有一个是Sql的驱动。这边勾选依赖会自动帮你加进maven依赖。点击Create,等待项目加载完成。
等待maven依赖加载完成(这里maven最好重新配置一下仓库地址,有需要的可以自行查阅相关资料)。如果运行不报错,那么恭喜你,第一个项目搭建成功了。
2.2 创建用户实体类
在目录下创建entity或者pojo包,在该包下放置实体类User.
代码如下:
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data //注解快捷方式,用于自动生成类的getter/setter方法、toString方法、equals方法和hashCode方法
@NoArgsConstructor //注解用于自动生成一个无参数的构造器
@AllArgsConstructor //注解用于自动生成一个包含所有字段作为参数的构造器(即全参构造器)
public class User {
private int id;
private String name;
private String password;
}
四、代码实现
4.1 创建数据操作层(dao)
在目录下创建dao包,在该包下放置的接口用于进行数据库sql语句操作(本人选择使用mybatis-plus)。
关于mybatis-plus的使用本人参考了MyBatis-Plus 内置方法使用(插入方法、更新方法、插入或更新方法、删除方法、查询方法)
在pom.xml中配置mybatis-plus的依赖
<!-- mybatis-plus的依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.7</version>
</dependency>
在application.properties中配置Application
# 设置数据库驱动类名,这是告诉Spring Boot应用程序将要使用哪个JDBC驱动来连接数据库
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 设置数据库连接的URL,包括数据库服务器地址、端口号以及要连接的数据库名
# 在这个例子中,数据库服务器运行在本地(localhost),端口号是3306,要连接的数据库名为mydb
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
# 根据自己数据库的用户名设置
spring.datasource.username=root
# 根据自己数据库的密码填写
spring.datasource.password=123456
创建用户数据操作类
代码如下:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.springboot.web.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper extends BaseMapper<User> {//UserMapper直接继承自BaseMapper<User>,BaseMapper<User>是一个泛型接口,提供了基本的CRUD(增删改查)操作
}
4.2 创建业务逻辑层(service)
Service层是业务逻辑层将数据访问层(DAO层)返回的数据进行整合、处理和转换,方便controller层进行调用
创建UserService接口,接口定义了对用户(User)的业务逻辑处理
代码如下:
import com.baomidou.mybatisplus.extension.service.IService;
import com.springboot.web.entity.User;
public interface UserService extends IService<User> {//IService由MyBatis-Plus等框架提供的,提供了通用的业务逻辑处理方法,如增删改查等。
}
UserServiceImpl类实现了UserService接口,用于提供用户(User)相关的业务逻辑处理。
代码如下:
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.springboot.web.entity.User;
import com.springboot.web.dao.UserMapper;
import com.springboot.web.service.UserService;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {//ServiceImpl是MyBatis-Plus提供的一个服务实现类,它封装了CRUD操作以及通用的业务逻辑处理逻辑,如分页查询、条件查询等
}
4.3 创建控制层(controller)
在目录下创建controller包,在该包下放置的类用于处理前端响应的数据和返回前端所需要的数据。
创建UserController类用于处理与User相关的HTTP请求
代码如下:
import com.springboot.web.entity.User;
import com.springboot.web.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* RestController,意味着它处理的请求将遵循RESTful原则,并返回JSON或XML等格式的数据。
*
* 该类通过@Autowired注解注入了UserService,以便在控制器的方法中调用业务逻辑层的方法。
*/
@RestController
public class UserController {
@Autowired
private UserService userService;
/**
* 处理POST请求,用于新增用户。
*
* @param user 接收一个JSON格式的User对象作为请求体。
* @return 返回一个布尔值,表示用户是否成功插入数据库。
*/
@PostMapping("/user")
public boolean insert(@RequestBody User user) {
System.out.println(user);
return userService.save(user);// 调用业务逻辑层的方法保存用户
}
/**
* 处理GET请求,用于根据ID查询用户。
*
* @param id 通过@PathVariable注解接收URL中的id参数。
* @return 返回一个User对象,包含查询到的用户信息。
*/
@GetMapping("/user/{id}")
public User getById(@PathVariable int id) {
return userService.getById(id);// 调用业务逻辑层的方法根据ID查询用户
}
}
这里使用了平时常用的需求举了两个例子。
五、测试请求
本人使用Apifox作为测试工具
新增用户
查看数据库出现数据,插入成功
查询用户
总结
以上就是近期学习的内容,本文仅仅简单介绍了spring boot的项目搭建,后续有空将继续分享更多学习内容,如有错误请各位大佬指正,也欢迎广大道友论道。最后,祝诸位道友待得春风起,远赴倒悬山。