SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统

面向使用葵花宝典

    • 前言
    • 环境配置
    • 数据库设计
    • 前端页面
    • 创建一个Springboot项目
      • 测试连接数据库
      • 实体类
      • Mapper接口类
      • 控制类
    • 项目代码

前言

想上网上找一个Springboot的小项目demo来学习
但是搜来搜去都是讲理论的…
我觉得学习一项技术应该先快速掌握如何使用再去学习为什么能这么用
这样学的才快一些才能知其然知其所以然
开局就和你啃源码这谁顶得住啊(
所以准备写一份教程来记录如何快速的运行一个springboot项目配合mybatis进行CRUD
话不多说, 冲就完事了!

环境配置

Mysql 8.0.22
Navicat for mysql 15
Idea 2020.2.1

数据库设计

因为我们就只是一个测试用的小demo 所以我们先不加入管理员之类的表
我们先把图书给他加上去
书的话需要编号(id) [主键] 书名(name) 作者(author)
使用navicat加一点数据上去!
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第1张图片

前端页面

链接:https://pan.baidu.com/s/1fZyjlOCAw_NHJYJbRJJhPQ
提取码:evb8
因为我们主要是看后端所以前端页面没有一点美化(
能用就行! 增删改查都有你还要什么自行车
使用了thymeleaf
所以你要在pom.xml里加上thymeleaf的启动器
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第2张图片
把你的前端页面丢在templates下
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第3张图片

创建一个Springboot项目

Idea new 一个 project试试看!
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第4张图片
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第5张图片
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第6张图片
把Spring Web和MyBatis Framework 和MySQL Driver给勾上
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第7张图片
删掉这些你讨厌的东西
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第8张图片

测试连接数据库

在配置文件中加一些你入你的数据库账号密码url和驱动
(默认不是yml, 如果你想要和我一样用yml的话需要先对properties重命名成yml
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第9张图片
在测试类看一看能不能连接成功数据库
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第10张图片
运行他!
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第11张图片
能够成功连接数据库我们就已经完成一大步啦

实体类

接下来我们创建我们的实体类Book!
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第12张图片
因为我不喜欢用lombook所以都是直接ALT+INSERT加入的get set函数以及有参无参构造方法

Mapper接口类

把@Mapper加上它就是你的人了
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第13张图片

增删改查一目了然!
然后在resources下新建一个mybatis文件夹再建一个mapper文件夹里面放xxxMapper.xml
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第14张图片
发挥你的特长编sql语句 !
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第15张图片

https://mybatis.org/mybatis-3/zh/getting-started.html
如果MyBatis有什么不会的直接看这里入门

顺便一提用 select *这个习惯可不太好哦(好吧…我也想偷懒
记得要在yml文件里整合配置一下mybatis才可以用!
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第16张图片

控制类

在Controller层下写你的控制类
在这里插入图片描述
SpringBoot MyBatis CRUD 从零开始快速使用-图书管理系统_第17张图片

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 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

你可能感兴趣的:(SpringBoot,mybatis,spring,boot,mysql)