02SpringBoot3集成MyBatisPlus和MySQL

Spring Boot:3.2.4

注意: Spring Boot3版本对应的插件基本都会有相匹配的版本,与Spring Boot2的并不一样,安装依赖时需要注意。

一、集成MyBatisPlus

1、安装MyBatisPlus

因为使用了Spring Boot3版本,所以需要使用对应版本的MyBatisPlus;

xml 复制代码
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
        <version>最新版本</version>
    </dependency>

当前最新为3.5.5

添加依赖之后,点击IDEA的Maven中的【Reload All Maven Projects】按钮;

2、配置MapperScan

首先创建mapper包

配置MapperScan注解

Java 复制代码
package com.one.pojian;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.one.pojian.mapper")
public class PojianApplication {
    public static void main(String[] args) {
        SpringApplication.run(PojianApplication.class, args);
    }
}

二、安装MySQL Connector

1、添加依赖

在pom.xml添加该配置即可;

xml 复制代码
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>

2、添加数据库连接配置

在application.yml文件中添加如下配置

yml 复制代码
    #数据库配置
    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/dbname?serverTimezone=Asia/Shanghai
        username: username
        password: password

三、创建表实体

1、数据库建表

sql 复制代码
CREATE TABLE `book` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `author` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

INSERT INTO book (id, name, author) VALUES(1, '人生的枷锁', '毛姆');
INSERT INTO book (id, name, author) VALUES(2, '刀锋', '毛姆');

2、创建实体

创建包/entity/po,在该包下创建实体类Book

java 复制代码
package com.one.pojian.entity.po;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

@Data
@TableName("book")
public class Book {
    private Long id;
    private String name;
    private String author;
}

实体只需要编码对应的表字段即可,其他的get、set函数只需要引入注解Data即可,该注解需要安装lombok依赖。

3、安装lombok依赖

在pom.xml中添加依赖配置;

xml 复制代码
<!-- lombok:减少样板代码的编写 -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>

四、连接测试

1、编写接口

注意此处是接口,不是类 在mapper包内添加接口BookMapper;

java 复制代码
package com.one.pojian.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.one.pojian.entity.po.Book;

public interface BookMapper extends BaseMapper<Book> {
}

2、添加测试方法

直接在controller中创建方法进行测试;另外,不涉及复杂业务,暂不添加service层; 在controller包内创建类BookController

java 复制代码
    package com.one.pojian.controller;

    import com.one.pojian.entity.po.Book;
    import com.one.pojian.mapper.BookMapper;
    import jakarta.annotation.Resource;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;

    import java.util.List;

    @RestController
    @RequestMapping("/book")
    public class BookController {
        @Resource
        private BookMapper bookMapper;

        @RequestMapping("/getBooks")
        public List<Book> getBooks() {
            return bookMapper.selectList(null);
        }
    }

3、测试返回

五、报错问题

使用注解@Autowired时,会有报错;

解决方案参考:www.cnblogs.com/Howinfun/p/...

相关推荐
RuoyiOffice6 分钟前
Flowable 状态通知设计:单体用本地事件,微服务如何回写业务状态?
spring boot·微服务·vue3·flowable·ruoyi office·redis stream·流程状态通知
ly76891 小时前
Spring Security 过滤器链定制:认证、CORS 与 CSRF 的先后顺序
java·spring boot·spring·spring security·csrf·cors·过滤器链
bksczm17 小时前
Redis数据结构之string
java·redis·mybatis
9527!到!18 小时前
Springboot @value读取配置参数踩坑&推荐解决方案
java·spring boot·spring
十年Java程序媛18 小时前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
小蒜学长21 小时前
基于SpingBoot+Vue的定向越野赛事管理系统的设计与开发(代码+数据库+LW)
java·前端·spring boot·后端·前后端分离·定向越野赛事
RuoyiOffice1 天前
项目预算和交付日期变了,为什么不能直接改台账?
spring boot·项目管理·vue3·flowable·业务建模·ruoyi office·项目变更
小蒜学长1 天前
基于过程性评价的ai助学平台(代码+数据库+LW)
java·spring boot·后端·微信小程序·过程性评价
博风1 天前
使用Spring官网下载Springboot骨架
java·spring boot·spring
木井巳1 天前
【JavaEE】SpringBoot 统一功能处理: 拦截器、统一返回与全局异常
java·spring boot·后端·spring·java-ee