Java图书目录管理系统CRUD展示(springboot+vue+mybatis-plus)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: Java图书目录管理系统CRUD展示(springboot+vue+mybatis-plus)

Java图书管理系统CRUD展示

简介

这篇文章是针对一个c++的编程题,进行的java的改变,然后在那个基础之上加上了一个网页的前端,主要的参考文章是这两篇,看完之后,就会发现,其实这个,大部分项目都是图书管理系统的简单变化而成的。

图书目录管理系统(C++)

springboot+vue+mybatis-plus+axios实现商品的CRUD

项目展示

项目创建部分

数据库编码

/*
 Navicat MySQL Data Transfer
 Source Server         : localhost_3306
 Source Server Type    : MySQL
 Source Server Version : 80028
 Source Host           : localhost:3306
 Source Schema         : projectdatabase
 Target Server Type    : MySQL
 Target Server Version : 80028
 File Encoding         : 65001
 Date: 31/01/2023 22:24:02
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for book
-- ----------------------------
DROP TABLE IF EXISTS `book`;
CREATE TABLE `book`  (
  `isbn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `author` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `publisher` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `pubdate` datetime NOT NULL,
  `price` decimal(10, 2) NOT NULL,
  `id` int NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`, `isbn`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of book
-- ----------------------------
INSERT INTO `book` VALUES ('9780439227148', 'The Call of the Wild', 'Jack London', 'Scholastic Press', '2001-01-01 00:00:00', 39.40, 1);
INSERT INTO `book` VALUES ('9787501592401', 'The Old Man and the Sea', 'Ernest Hemingway', 'Knowledge Press', '2023-01-30 00:00:00', 25.80, 2);
INSERT INTO `book` VALUES ('9787501592401', 'The Old Man and the Sea', 'Ernest Hemingway', 'Knowledge Press', '2023-01-31 13:02:42', 25.80, 3);
INSERT INTO `book` VALUES ('9780439227148', 'The Call of the Wild', 'Jack London', 'Scholastic Press', '2023-01-30 16:00:00', 34.90, 6);
INSERT INTO `book` VALUES ('9781772262902', 'Oliver Twist', 'Charles Dickens', 'Engage Books', '2023-01-03 16:00:00', 45.00, 7);
SET FOREIGN_KEY_CHECKS = 1;

项目编码

在创建项目的那些地方,在springboot+vue+mybatis-plus+axios实现商品的CRUD这篇文章里面,已经写好了,怎么创建一个springboot项目可以参考这篇文章。

这个题的原题是这样的,是一个C++的期末考试题目。

图书目录管理系统(C++)

原题描述

请设计一个简单的图书目录管理系统(初级版)。

图书目录信息包括:

统一书号(不超过13字符)

书名(不超过30字符)

作者(不超过20字符)

出版社(不超过30字符)

出版日期(包括:年、月、日)

价格(精确到分)

注意:为了保证运行窗口能正确地显示,请右击运行窗口,修改“属性”:

在“选项”选项卡中,选中“使用旧版本控制台”

在“字体”选项卡中,选择“8×16”“点阵字体”

在“布局”选项卡中,将屏幕窗口宽度均设为“120”。

具体需求如下:

显示如下的主菜单:

Append Find Remove Modify Show Quit > _

如果用户输入 A 或 a、F 或 f、R 或 r、M 或 m、S 或 s,则可完成相应的操作。如果用户输入其它字符,则显示错误信息。

程序将反复显示主菜单,让用户持续工作。如果用户输入 Q 或 q,则程序结束。

Append Find Remove Modify Show Quit > Q
Thank you! Goodbye!

若用户输入其它字符,则显示错误信息。

Append Find Remove Modify Show Quit > B
Incorrect choice!
Append Find Remove Modify Show Quit > 9
Incorrect choice!
Append Find Remove Modify Show Quit > +
Incorrect choice!

若用户输入 A 或 a,则可以输入新书的信息,将其添加到图书目录中。

Append Find Remove Modify Show Quit > a
     ISBN: 9780439227148
    Title: The Call of the Wild
   Author: Jack London
Publisher: Scholastic Press
 Pub date: 2001/1/1
    Price: 39.4
Append Find Remove Modify Show Quit > A
     ISBN: 9781772262902
    Title: Oliver Twist
   Author: Charles Dickens
Publisher: Engage Books
 Pub date: 2016/9/15
    Price: 648
Append Find Remove Modify Show Quit > a
     ISBN: 9787515911076
    Title: The Call of the Wild
   Author: Jack London
Publisher: Aerospace Publishing House
 Pub date: 2016/5/1
    Price: 29.8

若用户输入的日期信息不正确,则显示错误信息,并要求用户重新输入。

Append Find Remove Modify Show Quit > A
     ISBN: 9787501592401
    Title: The Old Man and the Sea
   Author: Ernest Hemingway
Publisher: Knowledge Press
 Pub date: 2016/2/30
Incorrect date! Please reenter: 2016/6/31
Incorrect date! Please reenter: 2016/8/1
    Price: 25.8

若用户输入 S 或 s,则按书号升序排序,然后列表显示全部图书。

Append Find Remove Modify Show Quit > S
ISBN--------- Title------------------------- Author-------------- Publisher--------------------- Pub-date-- Price---
9780439227148 The Call of the Wild           Jack London          Scholastic Press               2001/01/01    39.40
9781772262902 Oliver Twist                   Charles Dickens      Engage Books                   2016/09/15   648.00
9787501592401 The Old Man and the Sea        Ernest Hemingway     Knowledge Press                2016/08/01    25.80
9787515911076 The Call of the Wild           Jack London          Aerospace Publishing House     2016/05/01    29.80

若用户输入 F 或 f,则输入书名,然后显示该书名的图书。如果没有对应的图书,则显示错误信息。

Append Find Remove Modify Show Quit > F
Title: The Call of the Wild
ISBN--------- Title------------------------- Author-------------- Publisher--------------------- Pub-date-- Price---
9780439227148 The Call of the Wild           Jack London          Scholastic Press               2001/01/01    39.40
9787515911076 The Call of the Wild           Jack London          Aerospace Publishing House     2016/05/01    29.80
Append Find Remove Modify Show Quit > f
Title: Gulliver's Travels
Not found!

说明:输出查找结果时,不作排序操作。

若用户输入 R 或 r,则输入书号,然后将删除该书号的图书。如果没有对应的图书,则显示错误信息。

Append Find Remove Modify Show Quit > r
ISBN: 9781772262902
Remove(y/n)? n
Append Find Remove Modify Show Quit > S
ISBN--------- Title------------------------- Author-------------- Publisher--------------------- Pub-date-- Price---
9780439227148 The Call of the Wild           Jack London          Scholastic Press               2001/01/01    39.40
9781772262902 Oliver Twist                   Charles Dickens      Engage Books                   2016/09/15   648.00
9787501592401 The Old Man and the Sea        Ernest Hemingway     Knowledge Press                2016/08/01    25.80
9787515911076 The Call of the Wild           Jack London          Aerospace Publishing House     2016/05/01    29.80
Append Find Remove Modify Show Quit > R
ISBN: 9780439227148
Remove(y/n)? Y
Append Find Remove Modify Show Quit > s
ISBN--------- Title------------------------- Author-------------- Publisher--------------------- Pub-date-- Price---
9781772262902 Oliver Twist                   Charles Dickens      Engage Books                   2016/09/15   648.00
9787501592401 The Old Man and the Sea        Ernest Hemingway     Knowledge Press                2016/08/01    25.80
9787515911076 The Call of the Wild           Jack London          Aerospace Publishing House     2016/05/01    29.80
Append Find Remove Modify Show Quit > r
ISBN: 9787515914145
Not found!
Append Find Remove Modify Show Quit > s
ISBN--------- Title------------------------- Author-------------- Publisher--------------------- Pub-date-- Price---
9781772262902 Oliver Twist                   Charles Dickens      Engage Books                   2016/09/15   648.00
9787501592401 The Old Man and the Sea        Ernest Hemingway     Knowledge Press                2016/08/01    25.80
9787515911076 The Call of the Wild           Jack London          Aerospace Publishing House     2016/05/01    29.80

要求:用户回答是否删除时,必须回答 Y 或 N (大小写均可)。如果是其它字符,则显示错误信息,要求用户重新回答。

Append Find Remove Modify Show Quit > R
ISBN: 9781772262902
Remove(y/n)? k
Incorrect answer!
Remove(y/n)? $
Incorrect answer!
Remove(y/n)? N

若用户输入 M 或 m,则可以修改图书信息。首先按书号查找,然后重新输入该图书的信息。

Append Find Remove Modify Show Quit > m
ISBN: 9787515911076
Modify(y/n)? y
     ISBN: 9787544724968
    Title: The House on Mango Street
   Author: Sandra Heathneros
Publisher: Yilin Press
 Pub date: 2012/1/1
    Price: 30
Append Find Remove Modify Show Quit > M
ISBN: 9787501592401
Modify(y/n)? n
Append Find Remove Modify Show Quit > m
ISBN: 9787515914145
Not found!
Append Find Remove Modify Show Quit > S
ISBN--------- Title------------------------- Author-------------- Publisher--------------------- Pub-date-- Price---
9781772262902 Oliver Twist                   Charles Dickens      Engage Books                   2016/09/15   648.00
9787501592401 The Old Man and the Sea        Ernest Hemingway     Knowledge Press                2016/08/01    25.80
9787544724968 The House on Mango Street      Sandra Heathneros    Yilin Press                    2012/01/01    30.00

要求:用户回答是否修改时,必须回答 Y 或 N (大小写均可)。如果是其它字符,则显示错误信息,要求用户重新回答。

Append Find Remove Modify Show Quit > M
ISBN: 9787544724968
Modify(y/n)? K
Incorrect answer!
Modify(y/n)? *
Incorrect answer!
Modify(y/n)? n

相关习题:图书目录管理系统(高级版)。

Append Find Remove Modify Show Quit > Thank you! Goodbye!
q

完整代码

项目结构

application.yml

server:
  port: 8080
spring:
  datasource:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/projectdatabase?serverTimezone=UTC
      username: root
      password: 123456
mybatis-plus:
  global-config:
    db-config:
      id-type: auto
#  configuration:
#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>SpringBootCRUD</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringBootCRUD</name>
    <description>SpringBootCRUD</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--fastjson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.62</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

前端文件

index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <a href="/add"><input type="button" value="新增"></a><br>
    <hr>
    <table id="brandTable" border="1" cellspacing="0" width="100%">
        <tr>
            <th>序号</th>
            <th>统一书号</th>
            <th>书名</th>
            <th>作者</th>
            <th>出版社</th>
            <th>出版日期</th>
            <th>价格</th>
        </tr>
        <!--
            使用v-for遍历tr
        -->
        <tr v-for="(book,i) in books" align="center" >
            <td>{{i + 1}}</td>
            <td>{{book.isbn}}</td>
            <td>{{book.title}}</td>
            <td>{{book.author}}</td>
            <td>{{book.publisher}}</td>
            <td>{{book.date2}}</td>
            <td>{{book.price}}</td>
            <td><input type="button" id="update" @click="updateId(book.id)" value="修改"> <input type="button" id="delete" @click="deleteId(book.id)" value="删除"></td>
        </tr>
    </table>
</div>
<script src="js/axios-0.18.0.js"></script>
<script src="js/vue.js"></script>
</body>
<script>
    new Vue({
        el:"#app", // 这里写那个上面网页的div的id名称
        data(){
            return{
                books:[]
            }
        },
        mounted(){ // 当网页加载的时候加载
            let _this = this; // 制作一个临时的this指针
            axios({
                method:"get",
                url:"http://localhost:8080/selectAll"
            }).then(function (response){
                console.log(response.data)
                _this.books = response.data;
            })
        },
        methods: {
            updateId(id){
                let _this = this;
                axios({
                    method:"get",
                    url:"http://localhost:8080/update?id"+id,
                    data:id
                }).then(resp=>{
                    location.href = "http://localhost:8080/update"
                })
            },
            deleteId(id) {
                let _this = this;
                axios({
                    method:"post",
                    url:"http://localhost:8080/delete",
                    data:id
                }).then(resp=>{
                    if (resp.data){
                        location.href = "http://localhost:8080/"
                    } else {
                        alert("删除失败")
                    }
                })
            }
        }
    })
</script>
</html>
addBook.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加书本</title>
</head>
<body>
<div id="app">
    <h3>添加书本</h3>
    <form action="" method="post">
        统一书号:<input id="isbn" v-model="book.isbn" name="isbn"><br>
        书名:<input id="title" v-model="book.title" name="title"><br>
        作者:<input id="author" v-model="book.author" name="author"><br>
        出版社:<input id="publisher" v-model="book.publisher" name="publisher"><br>
        出版日期:<input id="pubdate" v-model="book.pubdate" name="pubdate" type="date"><br>
        价格:<input id="price" v-model="book.price" name="price"><br>
        <!--        <input type="button" id="btn" @click="submitForm" value="提交">-->
        <input type="button" id="btn" @click="submitForm" value="提交">
    </form>
</div>
<script src="js/axios-0.18.0.js"></script>
<script src="js/vue.js"></script>
<script>
    new Vue({
        el:"#app",
        data() {
            return{
                book:{
                }
            }
        },
        methods:{
            submitForm() {
                var _this = this;
                axios({
                    method: "post",
                    url:"http://localhost:8080/addBook",
                    data:_this.book
                }).then(function (response) {
                    if (response.data){ // 添加成功之后返回原来的页面
                        location.href="http://localhost:8080/";
                    } else {
                        alert("添加失败")
                    }
                })
            }
        }
    })
</script>
</body>
</html>
updateBook.html
<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>更新书本</title>
    </head>
    <body>
    <div id="app">
        <h3>更新书本</h3>
        <form action="" method="post">
            统一书号:<input id="isbn" v-model="book.isbn" name="isbn"><br>
            书名:<input id="title" v-model="book.title" name="title"><br>
            作者:<input id="author" v-model="book.author" name="author"><br>
            出版社:<input id="publisher" v-model="book.publisher" name="publisher"><br>
            出版日期:<input id="pubdate" v-model="book.pubdate" name="pubdate" type="date"><br>
            价格:<input id="price" v-model="book.price" name="price"><br>
            <!--        <input type="button" id="btn" @click="submitForm" value="提交">-->
            <input type="button" id="btn" @click="submitForm" value="提交">
        </form>
    </div>
    <script src="js/axios-0.18.0.js"></script>
    <script src="js/vue.js"></script>
    <script>
        new Vue({
            el:"#app",
            data() {
                return{
                    book:{
                    }
                }
            },
            methods:{
                submitForm() {
                    var _this = this;
                    axios({
                        method: "post",
                        url:"http://localhost:8080/addBook",
                        data:_this.book
                    }).then(function (response) {
                        if (response.data){ // 添加成功之后返回原来的页面
                            location.href="http://localhost:8080/";
                        } else{
                            alert("添加失败");
                        }
                    })
                }
            }
        })
    </script>
    </body>
    </html>

后端部分

Book
package com.example.springbootcrud.Bean;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Book {
    // 数据id
    private Integer id;
    // 图书编号
    private String isbn;
    // 图书名
    private String title;
    // 图书作者
    private String author;
    // 图书出版社
    private String publisher;
    // 图书出版日期
    private Date pubdate;
    // 只有年份的日期字符串
//    private  HashMap<String, Integer>map = new HashMap<String, Integer>(){
//        {
//            put("Jan", 1);
//            put("Feb", 2);
//            put("Mar", 3);
//            put("Apr", 4);
//            put("May", 5);
//            put("Jun", 6);
//            put("Jul", 7);
//            put("Aug", 8);
//            put("Sept", 9);
//            put("Oct", 10);
//            put("Nov", 11);
//            put("Dec", 12);
//        }
//    };
    public String getDate2(){
        HashMap<String, Integer>map = new HashMap<String, Integer>(){
            {
                put("Jan", 1);
                put("Feb", 2);
                put("Mar", 3);
                put("Apr", 4);
                put("May", 5);
                put("Jun", 6);
                put("Jul", 7);
                put("Aug", 8);
                put("Sept", 9);
                put("Oct", 10);
                put("Nov", 11);
                put("Dec", 12);
            }
        };
        String strs[] = pubdate.toString().split(" ");
//        for (int i = 0; i < strs.length; ++ i){
//            System.out.println(strs[i]);
//        }
        String date = strs[5] + "年" + map.get(strs[1]) + "月" + strs[2] + "日";
        System.out.println(date);
        return date;
    }
    // 图书出版价格
    private Double price;
}
BookController
package com.example.springbootcrud.Controller;
import com.alibaba.fastjson.JSON;
import com.example.springbootcrud.Bean.Book;
import com.example.springbootcrud.Dao.BookDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.List;
@Controller
public class BookController {
    @Autowired
    BookDao bookDao;
    @RequestMapping("/") // 设置默认页面
    public String index(){
        return "index.html";
    }
    @RequestMapping("/add")
    public String add(){
        return "addBook.html";
    }
    @RequestMapping("/update")
    public String update(){
        return "updateBook.html";
    }
    @ResponseBody
    @GetMapping("/selectAll")
    public List<Book> selectAll(){
        System.out.println(bookDao.selectList(null).toString());
        return bookDao.selectList(null);
    }
    @RequestMapping("/addBook")
    @ResponseBody
    public String addBook(HttpServletRequest request)throws ServletException, IOException {
        BufferedReader reader = request.getReader();
        String params = reader.readLine();
        Book book = JSON.parseObject(params, Book.class);
        System.out.println(book);
        bookDao.insert(book);
        return "success";
    }
    @RequestMapping("/updateId")
    @ResponseBody
    public Boolean updateBook(HttpServletRequest request)throws ServletException, IOException{
        BufferedReader reader = request.getReader();
        String params = reader.readLine();
        Book book = JSON.parseObject(params, Book.class);
        System.out.println(book);
        if (bookDao.updateById(book) > 0) return true;
        return false;
    }
    @RequestMapping("/delete")
    @ResponseBody
    public Boolean deleteBook(HttpServletRequest request)throws ServletException, IOException{
        BufferedReader reader = request.getReader();
        String params = reader.readLine();
        System.out.println(params);
        if (bookDao.deleteById(Integer.parseInt(params)) > 0) return true;
        return false;
    }
}
BookDao
package com.example.springbootcrud.Dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.springbootcrud.Bean.Book;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface BookDao extends BaseMapper<Book> {
}

测试类

BookDaoTestCase
package com.example.springbootcrud.Dao;
import com.example.springbootcrud.Bean.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Date;
@SpringBootTest
public class BookDaoTestCase {
    @Autowired
    private BookDao bookDao;
    @Test
    void testSelectAll(){
        System.out.println(bookDao.selectList(null));
    }
    @Test
    void testSave(){
        Book book = new Book();
        book.setIsbn("9787515911076");
        book.setTitle("The Call of the Wild");
        book.setAuthor("Jack London");
        book.setPublisher("Aerospace Publishing House");
        book.setPubdate(new Date());
        book.setPrice(360.00);
        System.out.println(book);
        bookDao.insert(book);
    }
    @Test
    void testUpdate(){
        Book book = new Book();
        book.setId(3);
        book.setIsbn("9787501592401");
        book.setTitle("The Old Man and the Sea");
        book.setAuthor("Ernest Hemingway");
        book.setPublisher("Knowledge Press");
        book.setPubdate(new Date());
        book.setPrice(25.8);
        bookDao.updateById(book);
    }
    @Test
    void testDelete(){
        bookDao.deleteById(5);
    }
    @Test
    void testDate(){
    }
}


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
12天前
|
人工智能 前端开发 Java
Java语言开发的AI智慧导诊系统源码springboot+redis 3D互联网智导诊系统源码
智慧导诊解决盲目就诊问题,减轻分诊工作压力。降低挂错号比例,优化就诊流程,有效提高线上线下医疗机构接诊效率。可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室。
156 10
|
12天前
|
Java 关系型数据库 MySQL
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
UWB (ULTRA WIDE BAND, UWB) 技术是一种无线载波通讯技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,因此其所占的频谱范围很宽。一套UWB精确定位系统,最高定位精度可达10cm,具有高精度,高动态,高容量,低功耗的应用。
一套java+ spring boot与vue+ mysql技术开发的UWB高精度工厂人员定位全套系统源码有应用案例
|
12天前
|
人工智能 监控 安全
Java+Spring Cloud +Vue+UniApp微服务智慧工地云平台源码
视频监控系统、人员实名制与分账制管理系统、车辆管理系统、环境监测系统、大型设备监测(龙门吊、塔吊、升降机、卸料平台等)、用电监测系统、基坑监测系统、AI算法分析(安全帽佩戴、火焰识别、周界报警、人员聚众报警、升降机超载报警)、安全培训、设备监测。
20 4
|
13天前
|
存储 数据可视化 安全
Java全套智慧校园系统源码springboot+elmentui +Quartz可视化校园管理平台系统源码 建设智慧校园的5大关键技术
智慧校园指的是以物联网为基础的智慧化的校园工作、学习和生活一体化环境,这个一体化环境以各种应用服务系统为载体,将教学、科研、管理和校园生活进行充分融合。无处不在的网络学习、融合创新的网络科研、透明高效的校务治理、丰富多彩的校园文化、方便周到的校园生活。简而言之,“要做一个安全、稳定、环保、节能的校园。
37 6
|
21天前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源
|
28天前
|
Java API Spring
SpringBoot项目调用HTTP接口5种方式你了解多少?
SpringBoot项目调用HTTP接口5种方式你了解多少?
83 2
|
28天前
|
前端开发 JavaScript Java
6个SpringBoot 项目拿来就可以学习项目经验接私活
6个SpringBoot 项目拿来就可以学习项目经验接私活
35 0
|
1月前
|
前端开发 Java 关系型数据库
SpringBoot+MyBatis 天猫商城项目
SpringBoot+MyBatis 天猫商城项目
60 1
|
1月前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
24 0