SpringBoot实现简单的图书增删查改

使用到的技术如下

前端:HTML,JavaScript,CSS,JQuery,AJAX 后端:SpringBoot

后端,首先在IDEA中建立一个Springboot项目,新建一个Book实体类

package com.test.bookmanage.Entity;

public class Book {

    private Integer id;
   
    private String name;
    
    private String author;
    
    public void setId(Integer id) {
        this.id = id;
    }
    
    public Integer getId() {
        return id;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
    
    public void setAuthor(String author) {
        this.author = author;
    }
    
    public String getAuthor() {
        return author;
    }
    
    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", name=" + name +  +
                ", author=" + author +  +
                };
    }
}

创建BookService层,用于编写业务逻辑

import com.test.bookmanage.Entity.Book;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@Service
public class BookService {
    @Resource
    JdbcTemplate jdbcTemplate;   //使用JdbcTemplate实现对数据库增删查改

    //图书列表
    public List<Map<String, Object>> bookList() {
        String sql = "select * from book1";
        List<Map<String, Object>> list = jdbcTemplate.queryForList(sql);
        return list;
    }

    //增
    public void create(Book book) {
        String sql = "insert into book1(name,author) values(" + book.getName() + "," + book.getAuthor() + ")";
        jdbcTemplate.update(sql);
    }

    //删
    public void deleteById(int id) {
        String sql = "delete from book1 where id=?";
        this.jdbcTemplate.update(sql, id);
    }

    //查
    public Map<String, Object> queryById(int id) {
        try {                                              //捕获查询id在数据库中不存在时map对象为空的异常
            String sql = "select * from book1 where id =?";
            Map<String, Object> map = jdbcTemplate.queryForMap(sql, id);
            return map;
        } catch (Exception e) {
            return null;
        }
    }

    //改
    public void update(Book book) {
        this.jdbcTemplate.update("update book1 set name=" + book.getName() + ",author=" + book.getAuthor() + " where id=" + book.getId() + "");
    }


}

创建BookController层,用于调用BookService方法,并与前端连接

package com.test.bookmanage.controller;

import com.test.bookmanage.Entity.Book;
import com.test.bookmanage.service.BookService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping("/book")
public class BookController {

    @Resource
    private BookService bookService;

    //图书列表
    @GetMapping("/list")
    public List<Map<String, Object>> list() {
        return bookService.bookList();
    }

    //增
    @PostMapping("/create")
    public String createBook(@RequestBody Book book) {
        bookService.create(book);
        return "create success";
    }

    //删
    @DeleteMapping("/delete/{id}")
    public String deleteBook(@PathVariable int id) {
        bookService.deleteById(id);
        return "delete success";
    }

    //查
    @GetMapping("/query/{id}")
    public Map<String, Object> queryBook(@PathVariable int id) {
        return bookService.queryById(id);
    }

    //改
    @PostMapping("/update")
    public String updateBook(@RequestBody Book book) {
        bookService.update(book);
        return "update success";
    }
}

前端,在资源模板下新建一个index.html

效果展示,在浏览器输入localhost加端口号就可以访问了

水平有限,页面过于简陋哈 新手学习记录,不足之处肯定蛮多,请谅解指正!

经验分享 程序员 微信小程序 职场和发展