SpringBoot整合MybatisPlus的简单crud功能

一.创建项目

创建方式

第一种是创建的时候不选默认的,换成阿里云的,缺点是版本比较低,除此之外要选一个MySql的驱动

SpringBoot整合MybatisPlus的简单crud功能_第1张图片

SpringBoot整合MybatisPlus的简单crud功能_第2张图片

第二种是选这个默认的,也要选一个MySql的驱动,在此用这种方式演示

SpringBoot整合MybatisPlus的简单crud功能_第3张图片SpringBoot整合MybatisPlus的简单crud功能_第4张图片

 二.环境配置

1.导入坐标:

创建完毕后,左上角File----->settings,修改Maven的地址,改成本地的

然后去找mybatis plus的坐标地址:https://mvnrepository.com/

找到之后粘贴到pom.xml里

2.数据库

因为要连接数据库,所以数据库里要有个表,不然就没意义了

然后配置resoures下的application.yml文件,默认是application.properties,我改成了application.yml,在里面连接数据库

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/pm
    username: root
    password: x5

三.写代码

1.创建实体类:

package com.hanbo.pojo;


public class Book {
    private Integer id;
    private String bookname;
    private int bookprice;
    private String description;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBookname() {
        return bookname;
    }

    public void setBookname(String bookname) {
        this.bookname = bookname;
    }

    public int getBookprice() {
        return bookprice;
    }

    public void setBookprice(int bookprice) {
        this.bookprice = bookprice;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", bookname='" + bookname + '\'' +
                ", bookprice=" + bookprice +
                ", description='" + description + '\'' +
                '}';
    }
}

2.创建dao

dao:mybatis plus自带一些crud方法,需要继承BaseMapper<泛型>

package com.hanbo.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hanbo.pojo.Book;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Repository
@Mapper
public interface BookDao extends BaseMapper {

}

 3.测试类

package com.hanbo.springbootmp;

import com.hanbo.dao.BookDao;
import com.hanbo.pojo.Book;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

@SpringBootTest
class SpringbootMpApplicationTests {

    @Autowired
     private BookDao bookDao;
    @Test
    void contextLoads() {

        System.out.println(bookDao.selectById(1));
    }
    @Test
    void contextLoads2() {
        List books = bookDao.selectList(null);
        System.out.println(books);
    }
    @Test
    void contextLoads3() {
       Book book=new Book();
       book.setBookname("毛概作业集");
       book.setBookprice(10);
       book.setDescription("等哪天我就一口气把它写完了");
        int result = bookDao.insert(book);
        System.out.println(result);
    }
    @Test
    void contextLoads4() {
      bookDao.deleteById(3);
    }
    @Test
    void contextLoads5() {
        Book book=new Book();
        book.setId(1);
        book.setBookname("Linux操作系统");
        book.setBookprice(45);
        book.setDescription("又一个要学的课程");
        bookDao.updateById(book);
    }
}

三.结果

数据测试前:

SpringBoot整合MybatisPlus的简单crud功能_第5张图片

测试后: SpringBoot整合MybatisPlus的简单crud功能_第6张图片

四.我个人出现的问题及总结

1.首先是配置文件里面,把数据库名mp打成了pm

2.mybatis plus里面的方法查询的与实际数据库不符,修改方法应该有,但我还不会,以至于我把实体类和数据库字段都改了

3.给mysql的依赖加个5的版本,8的需要修改配置文件里的驱动和url(好像是加个时区的东西serverTimezone=UTC)

4.添加的时候默认添加了一个很长的id,导致出现异常,需要加个注解,详见mybatis-plus添加数据时id自增问题_歪嘴战神-王德发的博客-CSDN博客_mybatisplus 字段自增

5.主键id必须是Integer类型的

你可能感兴趣的:(spring,boot,maven,intellij-idea)