IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot整合MyBatis-Plus -> 正文阅读

[Java知识库]SpringBoot整合MyBatis-Plus

前言

在学习Spring Boot整合第三方技术时遇到了许多折磨人的坑,掉了不少头发,因此在这里以整合 MyBatis-plus(下面简称MP)为例子,给大家在整合时遇到问题一个思路。

1、IDEA创建工程

在IDEA中按照常规的创建Spring Boot项目,即使用 https://start.spring.io官方的地址进行创建时会发现,不像整合MyBatis一样可以直接勾选,在选项中压根没有 MP 的选项

image-20220311171353600

这时有两种方式可以解决

  • 使用阿里云的地址进行创建项目:https://start.aliyun.com
  • 使用官方的地址,然后手动导入 MP 的坐标

2、操作步骤

下面是以手动的方式进行演示,选择阿里云的话版本会较低,可以手动在配置文件中修改一下即可。

  1. 首先在勾选技术时,只勾选 MySQL连接 即可

image-20220311171632720

  1. 在创建完成之后的pom.xml文件中手动导入 MP 的坐标,自带的 Spring Boot 基本starter包可以删除,因为导入的 MP 坐标中已经包含在内了
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.4.2</version>
</dependency>
  1. 在 Dao 层中继承 BaseMapper 即可,泛型的类型为对应的 pojo
@Mapper
@Repository
public interface UserDao extends BaseMapper<User> {
    
}
  1. 配置数据源
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/db1?serverTimezone=UTC
    username: root
    password: 123456
  1. 编写测试类
@SpringBootTest
class Springboot04MybatisPlusApplicationTests {

    @Autowired
    private UserDao userDao;

	@Test
	void contextLoads() {
        System.out.println(userDao.selectList(null));
    }
}

3、可能遇到的问题

3.1、Maven的install操作报错

在使用Maven时,可能会遇到以下报错

image-20220311172510168

解决办法:在pom.xml中补充缺失的插件

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.2</version>
    <configuration>
        <skipTests>true</skipTests>
    </configuration>
</plugin>

3.2、数据表找不到

在命名数据表的时候通常将其命名为 tb_xxx ,这时 MP 会自动忽略掉前缀 tb_ ,只识别出来后面的 xxx

image-20220311172814019

解决办法:在配置文件中对数据表的前缀进行补充

# MP对应的配置
mybatis-plus:
  # 表的前缀配置
  global-config:
    db-config:
      table-prefix: sys_

3.3、列名找不到

当我们的数据库的字段名命名出现不规范命名时,会出现实力类中的属性名和数据库中的字段名不匹配,从而出现列名找不到的错误

image-20220311173201739

解决办法:在 MP 中识别实体类中的属性名和字段名是根据实体类中的驼峰命名来判断的,如上图中的 phoneNum,当识别到出现驼峰命名时,MP 会自动将其分割,并以下划线进行拼接,如 phone_num。

当我们了解了这一规则之后,只需要修改实体类中的属性名或者数据库中的字段名即可。下面以修改属性名为例

public class User {
    private Integer id;
    private String username;
    private String email;
    private String password;
    private String phonenum;
}
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-12 17:18:07  更:2022-03-12 17:20:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 9:14:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码