电子女孩中文版手游
89.8MB · 2025-12-14
SpringBoot是一个脚手架,用于快速搭建一个基于Spring的web应用,开箱即用!创建即可开发业务代码,其设计目的是用来简化Spring应用的初始搭建以及开发过程
优点
添加项目依赖
SpringBoot项目结构
修改配置文件
新建数据库
创建对应的包
新建User类
@Entity
@Entity 标记的类,才能被 JPA 识别并进行数据库操作(如 CRUD)。@Table(name = "tb_user")
user,但这里显式指定为 tb_user,更符合实际表名规范)。@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
指定主键的生成策略:
GenerationType.IDENTITY 表示主键由数据库自动生成(依赖数据库的自增功能,如 MySQL 的 AUTO_INCREMENT)。AUTO(JPA 自动选择)、SEQUENCE(依赖数据库序列)、TABLE(用一张专门的表维护主键)。@Column(name = "字段名")
用于指定实体类属性与数据库表中字段的映射关系:
name 属性:指定对应的数据库字段名(如 @Column(name = "user_id") 表示该属性对应表中的 user_id 字段)。length(字段长度)、nullable(是否允许为 null)等。启动项目,为我们自动创建数据库表
新建UserController
Restful接口:
在HTTP协议中,有不同的发送请求的方式,分别是GET、POST、PUT、DELETE等,我们如果能让不同的请求方式表示不同的请求类型就可以简化查询
新建UserService类,IUserService接口
package com.kehanzhu.crud_test.service;
import com.kehanzhu.crud_test.pojo.User;
import com.kehanzhu.crud_test.pojo.dto.UserDto;
public interface IUserService {
/**
* 插入用户
*
* @param user 参数
* @return user对象
*/
User add(UserDto user);
}
package com.kehanzhu.crud_test.service;
import com.kehanzhu.crud_test.pojo.User;
import com.kehanzhu.crud_test.pojo.dto.UserDto;
import com.kehanzhu.crud_test.repository.UserRepository;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service //spring的bean
public class UserService implements IUserService {
@Autowired
private UserRepository userRepository;
@Override
public User add(UserDto user) {
User userPojo = new User();
BeanUtils.copyProperties(user, userPojo);
return userRepository.save(userPojo);
}
}
新建UserRepository接口
在 UserRepository extends CrudRepository<User, Integer> 中,泛型参数的含义如下:
第一个泛型 User表示当前 Repository 接口操作的实体类类型,即这个接口是专门用于操作 User 实体对应的数据库表(tb_user)的。CrudRepository 会根据这个实体类的信息(如 @Table、@Column 等注解)自动生成针对该表的 CRUD 操作 SQL。
第二个泛型 Integer表示该实体类主键(Primary Key)的类型。在你的 User 实体中,主键字段是 userid,其类型为 Integer,因此这里对应填写 Integer。
如果主键类型是 Long(如常见的雪花算法 ID),则第二个泛型应改为 Long;如果是 String(如 UUID),则填写 String,需与实体类中主键字段的类型保持一致。
简单来说,这两个泛型的作用是告诉 Spring Data JPA:“这个接口要操作的是 User 实体,它的主键类型是 Integer” ,框架据此才能正确生成针对性的数据库操作逻辑。
package com.kehanzhu.crud_test.repository;
import com.kehanzhu.crud_test.pojo.User;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface UserRepository extends CrudRepository<User, Integer> {
}
使用postman测试接口
异常情况: