一、创建spring boot项目
这里使用的spring boot项目与我们上次使用的一样,所以创建方法跟下文一致即可。
SpringBoot+MySQL的简单运用(Hello World API)-CSDN博客
二、配置数据库连接
2.1创建数据库
首先我们要创建一个数据库,应用于本次项目。
打开MySQL,输入密码登录。(MySQL安装方法上文也有)
然后输入
CREATE DATABASE mydatabase2;
这里是mydatabase2,因为上一次已经创建了mydatabase1。
2.2配置项目
首先打开我们在第一步中创建好的spring boot项目,然后打开properties文件。
然后在文件中输入
spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase2
spring.datasource.username=root
spring.datasource.password=password
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
上述代码中的password处,替换为你的MySQL实际密码。
三、编写业务程序
3.1创建实体类Book
在这一部分,我们以图书的存取为例编写一个业务程序。
首先在com.example.demo包下创建一个Java类,名为Book
然后在Book.java中输入如下代码
package com.example.demo;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
@Entity
public class Book {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String title;
private String author;
// Getters and setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
3.2创建仓库接口BookRepository
在com.example.demo包下创建一个Java接口类,名为BookRepository。
然后在BookRepository文件中,输入如下代码
package com.example.demo;
import org.springframework.data.jpa.repository.JpaRepository;
public interface BookRepository extends JpaRepository<Book, Long> {
}
3.3创建服务类BookService
在com.example.demo包下创建一个Java类,名为BookService。
在BookService类中输入如下代码
package com.example.demo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BookService {
@Autowired
private BookRepository bookRepository;
public List<Book> getAllBooks() {
return bookRepository.findAll();
}
public Book getBookById(Long id) {
return bookRepository.findById(id).orElse(null);
}
public Book addBook(Book book) {
return bookRepository.save(book);
}
public Book updateBook(Long id, Book book) {
if (bookRepository.existsById(id)) {
book.setId(id);
return bookRepository.save(book);
}
return null;
}
public void deleteBook(Long id) {
bookRepository.deleteById(id);
}
}
3.4创建控制器类BookController
在com.example.demo包下创建一个Java类,名为BookController。
在BookController中,输入如下代码
package com.example.demo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/api/books")
public class BookController {
@Autowired
private BookService bookService;
@GetMapping
public List<Book> getAllBooks() {
return bookService.getAllBooks();
}
@GetMapping("/{id}")
public Book getBookById(@PathVariable Long id) {
return bookService.getBookById(id);
}
@PostMapping
public Book addBook(@RequestBody Book book) {
return bookService.addBook(book);
}
@PutMapping("/{id}")
public Book updateBook(@PathVariable Long id, @RequestBody Book book) {
return bookService.updateBook(id, book);
}
@DeleteMapping("/{id}")
public void deleteBook(@PathVariable Long id) {
bookService.deleteBook(id);
}
}
四、程序运行
4.1构建程序
按照如下步骤操作,进行maven构建。
首先clean,按照下图顺序先选中clean,再点击绿色三角(构建)
然后package。
4.2运行程序
右键DemoApplication,然后点击运行。
五、测试程序
5.1写入
首先打开postman,创建一个新的请求
方法选择POST,url输入为:http://localhost:8080/api/books
然后选择Body-raw,输入如下
{
"title":"bookname",
"author":"me"
}
这里的title就是Book类中的title,author就是Book类中的author,那么我这里设置的为bookname和me,实际上设为什么都可以,根据你的需求来。
都填好之后,类似下图
点击Send,出现如下反馈即为成功写入
{
"id": 1,
"title": "bookname",
"author": "me"
}
也即下图红色部分。
5.2读取
将方法改为GET,点击Send,会返回当前数据库中已有的数据。
返回结果如下
[
{
"id": 1,
"title": "bookname",
"author": "me"
}
]
这张图中只有一个book实例,也就是我在上一步中写入的例子。