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