Spring boot 基于web的增删改查

原创 2018年04月16日 16:30:07

1、新建一个controller层,主要功能是负责页面跳转和数据交互,在上篇文章的基础上,通过界面增删改查。这里的 @Resource 是获取我具体实例的BookService bookService = new BookService();


package com.example.Spring.Boot1.controller;

import java.util.List;

import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.example.Spring.Boot1.Service.BookService;
import com.example.Spring.Boot1.entity.Book;

@Controller // Controller负责接收请求,处理完后将页面内容返回给前端。
public class bookController {

	@Resource
	BookService bookService = new BookService();
	// book的主界面 这里会从controler层model set的对象去获取相关的内容,th:each表示会循环遍历对象内容。

	@RequestMapping("/Bookdemo")
	public String list(Model model) {
		List<Book> book = bookService.getbookList();
		model.addAttribute("book", book);
		return "/Bookdemo";
	}

	// Bookupdate 修改界面
	@RequestMapping("/Bookupdate")
	public String toEdit(Model model, int id, String reader, String title) {
        System.out.println("update界面" + "reader=  " + reader + "  title=" + title);
		Book book = bookService.updBookById(id, reader, title);
		model.addAttribute("book", book);
		return "/Bookupdate";
	}

	
	// deleteBook 删除界面
	@RequestMapping("/deleteBook")
	public String delete(int id) {
		bookService.deleteById(id);
		return "/deleteBook";
	}

	// add 新增界面
	@RequestMapping("/insertBook")
	public String add(String reader, String title) {
			if (reader!= null && reader != ""  &&  title != ""  && title != null) {
				System.out.println("新增界面" + "reader=  " + reader + "  title=" + title);
				bookService.addBook(reader, title);
			}	
			return "/addBook";
	}

}

2、bookService类的代码,具体如下:

package com.example.Spring.Boot1.Service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.example.Spring.Boot1.JpaRepository.BookRepository;
import com.example.Spring.Boot1.entity.Book;

@Service
@RestController // Spring mvc的控制层 现在要返回的是一个页面所以不能再用@RestController,而用普通的@Controller
public class BookService {
	@Autowired
	private BookRepository bookRepository; // 定义book的数据仓库

	/** query 查询所有book列表 */
	@GetMapping(value = "/book")
	public List<Book> getbookList() {
		return bookRepository.findAll(); // 这个是book的仓库中自带的方法

	}

	/** insert 新增book表数据 这个需要用到postman调用测试 */
	@PostMapping(value = "/book/add")
	public Book addBook(@RequestParam("reader") String reader, @RequestParam("title") String title) {
		Book book = new Book();
		book.setReader(reader);
		book.setTitle(title);
		return bookRepository.save(book);
	}

	/**
	 * 通过id查询
	 * 
	 * @param id
	 * @return
	 */

	@GetMapping(value = "/book/getdata/{id}")
	public List getBookById(@PathVariable("id") int id) {
		return bookRepository.findAllById(id);
	}

	/*
	 * 
	 * 删除book by id
	 */

	@DeleteMapping(value = "/book/deleteBook/{id}")
	public void deleteById(@PathVariable("id") int id) {
		bookRepository.delete(bookRepository.findDataById(id));
	}

	/**
	 * update更新一个book by id
	 * 
	 * @return
	 * @return
	 */

	@PutMapping(value = "/book/updateBook/{id}")
	public Book updBookById(@PathVariable("id") int id, @RequestParam("reader") String reader,
			@RequestParam("title") String title) {
		    System.out.println("reader" + reader + "title" + title);

		Book book = new Book();
		book.setReader(reader);
		book.setTitle(title);
		book.setId(id);
		return bookRepository.save(book);
	}

}

最后通过controller类中的方法,返回的都是HTML名,通过相关请求地址可以做出相应的作用

@RequestMapping("/Bookdemo")代表的是输入地址   return "/Bookdemo";返回的html的名字

3、具体HTML的代码:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8" />
<title>BOOK</title>
</head>
<body class="container">
	<br />
	<h1>新增BOOK</h1>
	<br />
	<br />
	 <div class="with:80%">
		<form  th:action="@{/insertBook}" method="post">
			<input type="hidden" name="id" th:value="*{id}" />
			<div>
				<label for="reader">reader</label>
				<div>
					<input type="text" class="form-control" name="reader" id="reader" th:value="*{reader}"
						placeholder="reader" />
				</div>
			</div>
			<div>
				<label for="title">title</label>
				<div>
					<input type="text" class="form-control" name="title" id="title" th:value="*{title}"
						placeholder="title" />
				</div>
			</div>
			<div>
				<div>
					<input type="submit" value="Submit"  />       <a
						th:href="@{/Bookdemo}">Back</a>
				</div>
			</div>
		</form>
	</div> 
</body>
</html>
最后显示的结果:







基于SpringBoot开发一个Restful服务,实现增删改查功能

前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便、快捷。但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练...
  • qazwsxpcm
  • qazwsxpcm
  • 2018年01月10日 21:44
  • 596

[增删改查] SpringBoot + MyBatis (配置版)

一、前言 其实 SpringBoot 是推荐我们使用 SpringData+JPA 去实现 Dao 层的,用起来也十分简单好使 具体可以看之前写过的博文 使用 SpringBoot+JPA+Ea...
  • larger5
  • larger5
  • 2018年03月18日 09:21
  • 136

springboot增删改查 IDEA

springboot增删改查 IDEA版本:2017.1.5 运行方式:部署到tomcat中运行 数据库使用的mysql 程序中使用了mybatis,sql语句是写在xml中的 改项目...
  • summerSunStart
  • summerSunStart
  • 2017年11月28日 16:00
  • 1208

Springboot学习笔记(六)关于jdbc的增删改查

数据库配置为: 以数据库demo1,表:zh_user作为演示。含有以下几个元素: 实体类为:User 1、查        (1)查询全部,sql语句:”...
  • weixin_40397083
  • weixin_40397083
  • 2017年09月26日 10:41
  • 650

IntelliJ Idea SpringBoot 数据库增删改查实例

IntelliJ Idea SpringBoot 数据库增删改查实例#第一个SpringBoot程序 这里使用的开发软件是`IntelliJ Idea`,和`Eclipse`差不太多,界面更炫酷,功能...
  • Peng_Hong_fu
  • Peng_Hong_fu
  • 2016年12月16日 20:12
  • 22567

SpringBoot整合Mybatis完成增删改查功能

1.我用的开发工具是Spring-tool-Suite。这个工具适合创建Spting类型的项目。(这篇文章开头有使用介绍:http://blog.csdn.net/baidu_36216018/art...
  • baidu_36216018
  • baidu_36216018
  • 2018年03月07日 11:05
  • 220

Spirng Boot整合Mybatis实现增删改查案例-注解版

前面的文章介绍了Spring Boot整合JPA实现数据库的访问功能,这里再次介绍Spring Boot整合Mybatis实现数据的增删改查功能。 一、Maven依赖 这里贴出Spring ...
  • Lammonpeter
  • Lammonpeter
  • 2018年01月04日 22:23
  • 217

SpringBoot 数据库增删改查实例

参考教程:http://www.imooc.com/learn/767\ SpringBoot SpringBoot 是 SpringMVC 的升级版,相对于编码、配置、部...
  • sz457763638
  • sz457763638
  • 2017年10月19日 13:26
  • 2665

Spring Boot整合MongoDB实现增删改查

MongoDB这两年来是本人一直使用较多的,之前的使用大多通过封装的工具类对数据库进行操作,虽然也算稳定,但有了Spring Boot之前的工具类直接加到SpringBoot里就没那么好使了,因此查阅...
  • chenwill3
  • chenwill3
  • 2018年01月12日 21:49
  • 428

idea+spring boot+mybatis+restful风格的demo

注:我是在mac下搭建的demo,在windows下同理,这个不存在什么太大差异。后面会有源码,直接导入idea即可,只是环境的配置稍有不同。 一、准备工作 下载最新版idea.。 下载my...
  • qq_18297675
  • qq_18297675
  • 2018年03月01日 03:23
  • 150
收藏助手
不良信息举报
您举报文章:Spring boot 基于web的增删改查
举报原因:
原因补充:

(最多只允许输入30个字)