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

相关推荐
没有bug.的程序员4 小时前
Spring Cloud Gateway 性能优化与限流设计
java·spring boot·spring·nacos·性能优化·gateway·springcloud
q***71857 小时前
海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
java·前端·spring boot
KYumii9 小时前
智慧判官-分布式编程评测平台
vue.js·spring boot·分布式·spring cloud·java-rabbitmq
user_admin_god9 小时前
企业级管理系统的站内信怎么轻量级优雅实现
java·大数据·数据库·spring boot
q***82919 小时前
Spring Boot 3.3.4 升级导致 Logback 之前回滚策略配置不兼容问题解决
java·spring boot·logback
humors22110 小时前
服务端开发案例(不定期更新)
java·数据库·后端·mysql·mybatis·excel
码码哈哈0.011 小时前
Vue 3 + Vite 集成 Spring Boot 完整部署指南 - 前后端一体化打包方案
前端·vue.js·spring boot
朝新_11 小时前
【实战】动态 SQL + 统一 Result + 登录校验:图书管理系统(下)
xml·java·数据库·sql·mybatis
百***844513 小时前
SpringBoot(整合MyBatis + MyBatis-Plus + MyBatisX插件使用)
spring boot·tomcat·mybatis
q***718513 小时前
Spring Boot 集成 MyBatis 全面讲解
spring boot·后端·mybatis