SpringBoot整合第三方技术(Junit-Mybatis-Mybatis Plus-Druid)

举报
不会压弯的小飞侠 发表于 2022/07/20 21:12:56 2022/07/20
【摘要】 准备工作 1.创建数据表创建一个tbl_book表 2.IDEA配置MySQL数据库连接🔥详细步骤操作👉 点击直接查看准备工作完成后,正式进入SpringBoot整合第三方技术的学习。⭐⭐⭐注意:创建SpringBoot项目时使用的是阿里云版,详细教程在springboot专栏:👉SpringBoot专栏 一、整合Juint 1.新建项目FileProject StructureSp...

准备工作

1.创建数据表

创建一个tbl_book表
在这里插入图片描述

2.IDEA配置MySQL数据库连接

🔥详细步骤操作👉 点击直接查看

准备工作完成后,正式进入SpringBoot整合第三方技术的学习。
⭐⭐⭐注意:
创建SpringBoot项目时使用的是阿里云版,详细教程在springboot专栏:👉SpringBoot专栏

一、整合Juint

1.新建项目

  1. File
  2. Project Structure
  3. Spring Initializr
  4. 更改Initializr Service URL 为:https://start.aliyun.com
    在这里插入图片描述

2.选择环境

注意:java version与自己配置的jdk版本保持一致
在这里插入图片描述

3.加入所需的支持

⭐⭐⭐注意:什么也不勾选。

在这里插入图片描述

4.编辑pom.xml

去掉这两行代码。

<relativePath/> <!-- lookup parent from repository -->
<name>springboot_03_junit</name>
	<description>Demo project for Spring Boot</description>

5.模拟dao层

BookDao:
package com.jkj.dao;
public interface BookDao {
    public void save();
}
BookDaoImpl:
package com.jkj.dao.impl;

import com.jkj.dao.BookDao;
import org.springframework.stereotype.Repository;

@Repository
public class BookDaoImpl implements BookDao {
    @Override
    public void save() {
        System.out.println("BookDao is Running...");
    }
}

6.测试dao层

package com.jkj;

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

@SpringBootTest
class Springboot03JunitApplicationTests {
	//注入你要测试的对象
	@Autowired
	private BookDao bookDao;

	@Test
	void contextLoads() {
		//执行要测试对象对应的方法
		bookDao.save();
	}

}

在这里插入图片描述

7.@SpringBootTest解释

作用:设置Junit加载的springboot启动类
属性:classes:设置springboot启动类

⭐⭐⭐注意:如果测试类不在启动包中,则需要设置属性classes

@SpringBootTest(classes = Springboot03JunitApplication.class)

二、整合MyBatis

1.新建项目

2.选择环境

在这里插入图片描述

3.加入所需的支持

选择

  • 关系型数据库
  • MyBatis Framework
  • MySQL Driver

在这里插入图片描述

4.yml配置相关信息

#配置相关信息
spring:
  datasource:
    driver-class-name=com: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC
    username: root
    password: root

5.创建实体类

package com.jkj.domain;

public class Book {
    private int id;
    private String type;
    private String name;
    private String description;

    public int getId() {
        return id;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

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

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

6.模拟dao层

package com.jkj.dao;

import com.jkj.domain.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface BookDao {
    @Select("select * from tbl_book where id=#{id}")
    public Book getById(int id);

}

7.测试

package com.jkj;

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

@SpringBootTest
class Springboot03MybatisApplicationTests {
    @Autowired
    private BookDao bookDao;

    @Test
    void contextLoads() {
        System.out.println(bookDao.getById(2));
    }

}

在这里插入图片描述
⭐⭐⭐注意:
如果报时区问题解决方案

  • 添加serverTimezone的设定
url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC
  • 驱动类过时更换为:driver-class-name=com: com.mysql.cj.jdbc.Driver

三、整合MyBatis-plus

1.新建项目

2.选择环境

在这里插入图片描述

3.加入所需的支持

选择

  • 关系型数据库
  • MyBatis Plus Framework
  • MySQL Driver
    在这里插入图片描述

4.yml配置相关信息

#配置相关信息
spring:
  datasource:
    driver-class-name=com: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC
    username: root
    password: root

5.创建实体类

package com.jkj.domain;

public class Book {
    private int id;
    private String type;
    private String name;
    private String description;

    public int getId() {
        return id;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

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

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

6.模拟dao层继承BaseMapper

package com.jkj.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jkj.domain.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface BookDao extends BaseMapper<Book> {

}

}

7.测试类

package com.jkj;

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

@SpringBootTest
class Springboot03MybatisPlusApplicationTests {
    @Autowired
    private BookDao bookDao;

    @Test
    void contextLoads() {
        System.out.println(bookDao.selectById(2));
    }
}

⭐⭐⭐注意:
此时会报错:Table ‘springboot.book’ doesn’t exist
需要在yml中设置MP配置相关信息。

mybatis-plus:
  global-config:
    db-config:
      table-prefix: tbl_

添加后重新测试即可。

四、整合Druid

1.新建项目

2.选择环境

在这里插入图片描述

3.加入所需的支持

不选
在这里插入图片描述

4.导入druid所需依赖

可以在这个网站搜索依赖直接点击跳转复制即可👉Maven Rrepository
在这里插入图片描述

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.11</version>
        </dependency>

5.yml配置相关信息

两种方式:
#配置相关信息
spring:
  datasource:
    driver-class-name=com: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource


#spring:
#  datasource:
#    druid:
#      driver-class-name=com: com.mysql.cj.jdbc.Driver
#      url: jdbc:mysql://localhost:3306/springboot?serverTimezone=UTC
#      username: root
#      password: root

6.创建实体类

package com.jkj.domain;

public class Book {
    private int id;
    private String type;
    private String name;
    private String description;

    public int getId() {
        return id;
    }

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

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

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

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

7.模拟dao层

package com.jkj.dao;

import com.jkj.domain.Book;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

@Mapper
public interface BookDao {
    @Select("select * from tbl_book where id=#{id}")
    public Book getById(int id);

}


8.测试类

package com.jkj;

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

@SpringBootTest
class SpringbootO3DruidApplicationTests {
    @Autowired
    private BookDao bookDao;

    @Test
    void contextLoads() {
        System.out.println(bookDao.getById(3));
    }

}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。