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加端口号就可以访问了
水平有限,页面过于简陋哈 新手学习记录,不足之处肯定蛮多,请谅解指正!
上一篇:
通过多线程提高代码的执行效率例子