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

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

时间:2024-06-01 13:59:43浏览次数:35  
标签:return 读写操作 数据库 title id Book import Restful public

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

标签:return,读写操作,数据库,title,id,Book,import,Restful,public
From: https://blog.csdn.net/ComboHu/article/details/139355378

相关文章

  • mysql数据库8.4免安装方法配置
    在执行以下操作时,先把以前的data删除,移除相关服务后再进行操作。netstopmysqlmysqld--remove【简单安装,且操作不复杂】#1、根目录下新建my.ini[mysqld]basedir=C:/mysqldatadir=C:/mysql/dataport=3306#2、空密码初始化mysqld--initialize-insecure--user=mysql--conso......
  • 3.redis数据库
    Redis简介和使用:简介:Redis是一个基于内存的key-value结构数据库;基于内存存储,读写性能高;适合存储热点数据(热点商品、资讯、新闻);企业应用广泛;使用:启动服务端,命令提示符处于Redis的安装目录下,输入服务端的命令和Redis的配置文件;启动服务端命令:redis-server.exeredis.win......
  • 1940java swing零售库存管理系统myeclipse开发Mysql数据库CS结构java编程
    一、源码特点   javaswing零售库存管理系统是一套完善的窗体设计系统,对理解SWINGjava编程开发语言有帮助,系统具有完整的源代码和数据库,,系统主要采用C/S模式开发。应用技术:java+mysql开发工具:Myeclipse8.5、jdk。java零售商品库存管理系统二、功能介绍零售库......
  • 1882java密室逃脱管理系统 Myeclipse开发mysql数据库web结构java编程计算机网页项目
    一、源码特点java密室逃脱管理系统是一套完善的web设计系统,对理解JSPjava编程开发语言有帮助采用了java设计,系统具有完整的源代码和数据库,系统采用web模式,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql,使用java语言开发。二、功能介绍(1)......
  • oracle数据库与oracle实例
    1oracle数据库分类1.1单租户数据库ORACLE12C之前的oracle数据库都是单租户数据库。单租户数据库是独立和完整的数据库,包括ORACLE的元数据和应用的数据。1.2容器数据库(CDB)根数据库只包含oracle的元数据,不存储应用数据。包含了一整套数据文件、参数文件、控制文件、重做日志......
  • 如何将 Langfuse 链接到自有 PostgreSQL 数据库并升级 PostgreSQL 版本
    在本文中,我们将介绍如何将Langfuse应用程序链接到自有的PostgreSQL数据库,并升级PostgreSQL以支持jsonb类型。前提条件运行CentOS7的服务器已安装的PostgreSQL9.2或更低版本需要将Langfuse连接到自有数据库,并升级PostgreSQL以支持jsonb类型1.......
  • 基于springboot的毕业设计成绩管理系统源码数据库
    基于springboot的毕业设计成绩管理系统源码数据库传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装毕业设计成绩管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让......
  • [转帖]数据库系列之MySQL数据库中内存使用分析
    在实际系统环境中,MySQL实例的内存使用随着业务的增长缓慢增长,有些时候并没有及时的释放。本文简要介绍下MySQL数据库中和内存相关的配置,以及分析内存的实际使用情况,以进行应急和调优处理。1、MySQL内存结构在MySQL中内存的占用主要由两部分组成:全局共享缓存globalbuffer......
  • 如何选择国产数据库?
    ORACLE的强大是全方位的,作为甲方DBA,喝喝咖啡,看看报纸,开开会,临听一下ORACLEACE吹水!  作为国企的DBA,CTO.基本上国企都算是传统行业,都是跑ERP系统,进销存系统.客户关系系统.基本上都是B2B业务. 直接面对普通老百姓的互联网业务非常少. 核心业务都是使用ORACLE,少量......
  • 成为MySQL DBA后,再看ORACLE数据库(四、系统视图)
    在数据库的运维管理中,熟悉数据库系统视图的使用可以帮助我们了解数据库各方面的状态信息。一般数据库的系统视图分为数据字典视图和动态性能视图,数据字典视图用于显示数据库的元数据信息和系统状态信息包括各种数据库对象、用户、角色、权限等;动态性能视图用于显示数据库的性能统......