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

前言

想上网上找一个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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值