通过Restful接口实现对数据库进行基本的读写操作

一、创建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实例,也就是我在上一步中写入的例子。

  • 42
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值