目录
🌄方式一:Spring Initializr 的 Web页面创建项目
🌄方式二:使用 IDEA 创建项目
🌄创建一个新的Spring Boot项目
🌄编写实体类
🌄创建一个Spring Boot控制器
🌄创建UserRepository
🌄创建异常类
🌄配置应用程序
🌄运行DemoApplication.java中的main方法,启动应用程序。
🌄方式一: Spring Initializr 的 Web页面创建项目
- 1、打开 https://start.spring.io/
- 2、填写项目信息
- 3、点击”Generate Project“按钮生成项目;下载此项目
- 4、解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
- 5、如果是第一次使用,可能速度会比较慢,包比较多、需要耐心等待一切就绪。
🌄方式二: 使用 IDEA 创建项目
- 1、创建一个新项目
- 2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现
- 3、填写项目信息
- 4、选择初始化的组件(初学勾选 Web 即可)
- 5、填写项目路径
- 6、等待项目构建成功
🌄创建一个新的Spring Boot项目
首先,我们需要在Maven中创建一个新的Spring Boot项目。在pom.xml中添加所需的依赖,比如Spring Boot Web,JPA,MySQL驱动等。具体核心依赖项如下
<dependencies>
<!-- Spring Boot Web依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot JPA依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- MySQL驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
🌄编写实体类
我们需要先定义一个实体类来映射数据库中的表。在src/main/java目录下创建一个名为“com.example.demo.entity”的包,并在其中创建一个名为“User”的Java类,代码如下:
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "age")
private int age;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
在这里,我们使用了JPA(Java Persistence API)来创建实体类。使用@Entity注释来标识这是一个实体类,@Table注释来指定该类映射到数据库中的表。@Id注释将id字段标记为主键,@GeneratedValue指定主键自增策略,@Column指定字段名。
🌄创建一个Spring Boot控制器
在src/main/java目录下创建一个名为“com.example.demo.controller”的包,并在其中创建一个名为“UserController”的Java类,代码如下:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("")
public List<User> findAll() {
return userRepository.findAll();
}
@GetMapping("/{id}")
public User findById(@PathVariable("id") Long id) {
return userRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("User", "id", id));
}
@PostMapping("")
public User addUser(@RequestBody User user) {
return userRepository.save(user);
}
@PutMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User userDetails) {
User user = userRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("User", "id", id));
user.setName(userDetails.getName());
user.setAge(userDetails.getAge());
return userRepository.save(user);
}
@DeleteMapping("/{id}")
public ResponseEntity<?> deleteUser(@PathVariable Long id) {
User user = userRepository.findById(id).orElseThrow(() -> new ResourceNotFoundException("User", "id", id));
userRepository.delete(user);
return ResponseEntity.ok().build();
}
}
🌄创建UserRepository
在src/main/java目录下创建一个名为“com.example.demo.repository”的包,并在其中创建一个名为“UserRepository”的Java接口,代码如下:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
在这里,我们使用了Spring Data JPA提供的JpaRepository接口,该接口提供了一些常见的CRUD操作。@Repository注解用于将接口标识为一个Spring Bean。
🌄创建异常类
在src/main/java目录下创建一个名为“com.example.demo.exception”的包,并在其中创建一个名为“ResourceNotFoundException”的Java类,代码如下:
@ResponseStatus(HttpStatus.NOT_FOUND)
public class ResourceNotFoundException extends RuntimeException {
private static final long serialVersionUID = 1L;
public ResourceNotFoundException(String resourceName, String fieldName, Object fieldValue) {
super(String.format("%s not found with %s : '%s'", resourceName, fieldName, fieldValue));
}
}
在这里,我们创建了一个名为“ResourceNotFoundException”的自定义异常类,用于处理资源未找到的情况。使用@ResponseStatus注释来指定返回的HTTP状态码。
🌄配置应用程序
在application.properties或application.yml文件中配置应用程序,如端口、数据库连接等。
application.properties配置:
server.port=8080
# 数据库连接信息
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=root# 数据库驱动
spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver文章来源:https://www.toymoban.com/news/detail-514128.html# JPA配置
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
文章来源地址https://www.toymoban.com/news/detail-514128.html
🌄运行DemoApplication.java中的main方法,启动应用程序。
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
到了这里,关于[SpringBoot+Jpa框架搭建 ]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!