Skip to content

SpringBoot:集成Mybatis-Plus(二)

About 751 wordsAbout 3 min

springboot

2025-05-20

Spring Boot 整合 MyBatis-Plus 教程

SpringBoot集成MyBatisPlus+MySQL(超详细)

终于是搞出来了,这里简单记录一下过程中遇到问题,方便后面查看。

现在项目上使用的Mybatis-Plus版本3.4.3.1

一、配置pom.xml文件内容

很多功能配置pom的时候,我们都会多添加依赖,但是我们又不知道加入的依赖的作用。

下面就导入这两个。

引入mybatis-plus的依赖,也需要引入mysql的依赖,因为我们需要连接mysql数据库,这样的话就需要mysql connector。

    <dependencies>
      	<!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.3.1</version>
        </dependency>
				<!--mysql-->
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <scope>runtime</scope>
        </dependency>
    </dependencies>

这里我发现有两个依赖,一个是mysql-connector-j,就是上面这个,但是groupId是com.mysql。

还有一个就是mysql-connector-java,groupId是mysql,这两个有啥区别吗?

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

二、配置application.yml文件

这里我创建了一个application-local.yml的文件,用来区分开发环境和测试环境的配置文件内容。

  • application.yml
spring:
  profiles:
    active: local # 连不上数据库是因为我没有指定配置文件
    
  datasource:
    url: jdbc:mysql://${dhh.db.host}:3306/${dhh.db.tableName}?useUnicode=true&allowPublicKeyRetrieval=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: ${dhh.db.username}
    password: ${dhh.db.password}

# Use logs
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  • Application-local.yml
dhh:
  db:
    host: 8.137.xxx.xxx
    username: dengxx
    password: dengxx
    tableName: share_photo_project

三、创建相应的文件

3.1、实体文件

3.2、创建mapper接口

mapper接口集成自BaseMapper,传入实体作为范性

package dhh.project.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import dhh.project.entity.Hr;
import org.apache.ibatis.annotations.Mapper;

/**
 * @author 邓聪
 * @since 2025/5/22 12:45
 */
@Mapper
public interface HrMapper extends BaseMapper<Hr> {
}

3.3、创建服务接口和服务实现类

  • 服务接口
    • 接口集成Iservice,传入 实体作为范性
package dhh.project.service;

import com.baomidou.mybatisplus.extension.service.IService;
import dhh.project.entity.Hr;

public interface HrService extends IService<Hr> {
}
  • 接口服务实现类
package dhh.project.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import dhh.project.entity.Hr;
import dhh.project.mapper.HrMapper;
import dhh.project.service.HrService;
import org.springframework.stereotype.Service;

@Service
public class HrServiceImpl extends ServiceImpl<HrMapper, Hr> implements HrService {
}

3.4、创建contorller文件

这样的话,我们就可以使用 http://127.0.0.1:8081/SpringHrController/getAllHr来访问接口获取数据了。

四、问题

4.1、Cannot load driver class: com.mysql.cj.jdbc.Driver

修改了mysql-connector-java的版本为8.0.29,我使用的是mysql5.7的数据库

4.2、一直连不上数据库?

Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.] with root cause

一直连不上数据库,我以为是密码啥的输入错误,结果是因为我新建的application-local.yml没有配置在application.yml文件中。

spring:
  profiles:
  # 连不上数据库是因为我没有指定配置文件
      active: local

Changelog

6/3/25, 1:49 AM
View All Changelog
  • d3a6d-Merge branch 'dev1'on

求求了,快滚去学习!!!

求求了求求了,快去学习吧!

【题单】贪心算法

不知道方向的时候,可以多看看书,书会给你指明下一步该干什么,加油!