前言
想上网上找一个Springboot的小项目demo来学习
但是搜来搜去都是讲理论的…
我觉得学习一项技术应该先快速掌握如何使用再去学习为什么能这么用
这样学的才快一些才能知其然知其所以然
开局就和你啃源码这谁顶得住啊(
所以准备写一份教程来记录如何快速的运行一个springboot项目配合mybatis进行CRUD
话不多说, 冲就完事了!
环境配置
Mysql 8.0.22
Navicat for mysql 15
Idea 2020.2.1
数据库设计
因为我们就只是一个测试用的小demo 所以我们先不加入管理员之类的表
我们先把图书给他加上去
书的话需要编号(id) [主键] 书名(name) 作者(author)
使用navicat加一点数据上去!
前端页面
链接:https://pan.baidu.com/s/1fZyjlOCAw_NHJYJbRJJhPQ
提取码:evb8
因为我们主要是看后端所以前端页面没有一点美化(
能用就行! 增删改查都有你还要什么自行车
使用了thymeleaf
所以你要在pom.xml里加上thymeleaf的启动器
把你的前端页面丢在templates下
创建一个Springboot项目
Idea new 一个 project试试看!
把Spring Web和MyBatis Framework 和MySQL Driver给勾上
删掉这些你讨厌的东西
测试连接数据库
在配置文件中加一些你入你的数据库账号密码url和驱动
(默认不是yml, 如果你想要和我一样用yml的话需要先对properties重命名成yml
在测试类看一看能不能连接成功数据库
运行他!
能够成功连接数据库我们就已经完成一大步啦
实体类
接下来我们创建我们的实体类Book!
因为我不喜欢用lombook所以都是直接ALT+INSERT加入的get set函数以及有参无参构造方法
Mapper接口类
把@Mapper加上它就是你的人了
增删改查一目了然!
然后在resources下新建一个mybatis文件夹再建一个mapper文件夹里面放xxxMapper.xml
发挥你的特长编sql语句 !
https://mybatis.org/mybatis-3/zh/getting-started.html
如果MyBatis有什么不会的直接看这里入门
顺便一提用 select *这个习惯可不太好哦(好吧…我也想偷懒
记得要在yml文件里整合配置一下mybatis才可以用!
控制类
在Controller层下写你的控制类
package com.sphinx.controller;
import com.sphinx.mapper.BookMapper;
import com.sphinx.pojo.Book;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Controller
public class BookController {
// @Autowired
// private BookService bookService;
@Autowired
private BookMapper bookMapper;
// @GetMapping("queryBookList")
// public String queryBookList(){
// List<Book> bookList = bookMapper.queryBookList();
// return bookList.toString();
// }
@RequestMapping("/")
public String index(){
return "redirect:/list";
}
@RequestMapping("/list")
public String List(Model model){
List<Book> bookList = bookMapper.queryBookList();
System.out.println(bookList);
model.addAttribute("books",bookList);
return "Book/list";
}
@RequestMapping("/toAdd")
public String toAdd(){
return "Book/bookAdd";
}
@RequestMapping("/add")
public String addBook(Book book){
bookMapper.addBook(book);
return "redirect:/list";
}
@RequestMapping("/toEdit")
public String toEdit(Model model, int id){
Book book = bookMapper.queryBookById(id);
model.addAttribute("book", book);
return "Book/bookEdit";
}
@RequestMapping("/edit")
public String editBook(Book book){
bookMapper.updateBook(book);
return "redirect:/list";
}
@RequestMapping("delete")
public String deleteBook(int id){
bookMapper.deleteBook(id);
return "redirect:/list";
}
}
项目代码
链接:https://pan.baidu.com/s/15hUvN9kWYRJttbznKLTDRA
提取码:hkr9