0
点赞
收藏
分享

微信扫一扫

SpringBoot基础学习6——整合第三方数据

猫er聆听没落的旋律 2022-04-18 阅读 87
java

系列文章目录

一、SpringBoot基础学习1——入门案例(idea联网版)

二、SpringBoot基础学习2——入门案例(官网创建版)

三、SpringBoot基础学习3——入门案例(阿里云版)

四、SpringBoot基础学习4——REST开发相关知识

五、SpringBoot基础学习5——基础配置


SpringBoot基础学习6——整合第三方数据


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、SpringBoot整合Junit

1.1 创建新模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 修改pom.xml文件

在这里插入图片描述

1.3 测试

在这里插入图片描述
(1)代码

package com.yan;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class Springboot04JunitApplicationTests {

    @Test
    void contextLoads() {
        System.out.println("test...");
    }

}

(2)运行结果
在这里插入图片描述

1.4 测试案例

(1)目录结构
在这里插入图片描述
(2)代码
①BookDao.java

package com.yan.dao;

public interface BookDao {

    public void save();
}

②BookDaoImpl.java

package com.yan.dao.impl;

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

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

③测试类Springboot04JunitApplicationTests.java

package com.yan;

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

@SpringBootTest
class Springboot04JunitApplicationTests {

    //1.注入你要测试的对象
    @Autowired
    private BookDao bookDao;

    @Test
    void contextLoads() {
        //System.out.println("test...");

        //2.执行要测试的对象对应的方法
        bookDao.save();
    }

}

(3)运行结果
在这里插入图片描述

1.5 @SpringBootTest

(1)名称:@SpringBootTest
(2)类型:测试类注解
(3)位置:测试类定义上方
(4)作用:设置Junit加载的SpringBoot启动类
(5)相关属性:classes-设置SpringBoot启动类

1.6 注意事项

(1)如果测试类在SpringBoot启动类的包或子包中,可以省略启动类的设置,也就是省略classes的设定

  • 测试类如果存在于引导类所在包或子包中,无需指定引导类
  • 测试类如果不存在于引导类所在包或子包中,需要通过classes属性指定引导类
@SpringBootTest(classes = Springboot04JunitApplication.class)

二、整合Mybatis

2.1

(1)核心配置:数据库连接相关信息
(2)映射配置:SQL映射(XML/注解)

2.2 创建新模块,选择Spring初始化,并配置相关基础信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择当前模块需要使用的技术集(MyBatis、MySQL)
在这里插入图片描述
项目目录结构
在这里插入图片描述
将application.properties改为application.yml
在这里插入图片描述

2.3 创建数据库及相关数据表

在这里插入图片描述
在这里插入图片描述

2.4 配置 application.yml,设置数据源参数

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

2.5 编写实体类

package com.yan.domain;

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

    public Integer getId() {
        return id;
    }

    public void setId(Integer 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() {
        final StringBuffer sb = new StringBuffer("Book{");
        sb.append("id=").append(id);
        sb.append(", type='").append(type).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", description='").append(description).append('\'');
        sb.append('}');
        return sb.toString();
    }
}

2.6 定义数据层接口与映射配置

package com.yan.dao;

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

//数据库SQL映射需要添加@Mapper被容器识别到
@Mapper
public interface BookDao {

    @Select("select * from tb_book where id = #{id}")
    public Book getById(Integer id);
}

2.7 测试类中注入dao接口,测试功能

package com.yan;

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

@SpringBootTest
class Springboot05MybatisApplicationTests {

    @Autowired
    private BookDao bookDao;

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

}

2.8 运行结果

在这里插入图片描述
项目目录结构
在这里插入图片描述

2.9 SpringBoot整合MyBatis常见问题处理

(1)MYSQL 8.X 驱动强制要求设置时区

  • 修改url,添加serverTimezone设定
  • 修改MYSQL数据库配置

(2)驱动类过时,提醒更换为com.mysql.cj.jdbc.Driver

三、SpringBoot整合MyBatis-Plus

3.1 MyBatis-Plus 与MyBatis区别

  • 导入坐标不同
  • 数据层实现简化

3.2 创建新模块

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 手动添加mybatis plus坐标到pom.xml文件中

(1)去maven仓库查询MyBatis plus

<!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.1</version>
</dependency>

注意:由于SpringBoot中未收录MyBatis-Plus的坐标版本,需要指定对应的Version

(2)pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.yan</groupId>
    <artifactId>springboot_06_MyBatisPlus</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot_06_MyBatisPlus</name>
    <description>springboot_06_MyBatisPlus</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>

        <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
        
        <!--<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>-->

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

3.4 项目目录结构

在这里插入图片描述

3.5 application.yml

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

# 设置MP相关的配置
mybatis-plus:
  global-config:
    db-config:
      table-prefix: tb_

或在实体类上加@TableName("")表名注解

3.6 实体类Book

package com.yan.domain;

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

    public Integer getId() {
        return id;
    }

    public void setId(Integer 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() {
        final StringBuffer sb = new StringBuffer("Book{");
        sb.append("id=").append(id);
        sb.append(", type='").append(type).append('\'');
        sb.append(", name='").append(name).append('\'');
        sb.append(", description='").append(description).append('\'');
        sb.append('}');
        return sb.toString();
    }
}

3.7 dao层接口文件BookDao

package com.yan.dao;

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

//数据库SQL映射需要添加@Mapper被容器识别到
@Mapper
public interface BookDao extends BaseMapper<Book> {
}

3.8 测试类

package com.yan;

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

@SpringBootTest
class Springboot06MyBatisPlusApplicationTests {

    @Autowired
    private BookDao bookDao;

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

}

3.9 运行结果

在这里插入图片描述

四、SpringBoot整合Druid

4.1 创建新模块

在这里插入图片描述
在这里插入图片描述

4.2 手工导入Druid坐标

<!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.8</version>
</dependency>

4.3 将springboot_05_Mybatis项目中Book、BookDao、appliction.yml包复制到springboot_07_druid项目中

4.4 配置druid

# 2.配置相关信息

# 配置druid,法一:
#spring:
#  datasource:
#    driver-class-name: com.mysql.cj.jdbc.Driver
#    url: jdbc:mysql://localhost:3306/springbootdb?serverTimezone=UTC
#    username: root
#    password: root
#    type: com.alibaba.druid.pool.DruidDataSource

# 配置druid,法二:
spring:
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/springbootdb?serverTimezone=UTC
      username: root
      password: root

4.3 测试类

(1)代码

package com.yan;

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

@SpringBootTest
class Springboot07DruidApplicationTests {

    @Autowired
    private BookDao bookDao;

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

}

(2)运行结果
在这里插入图片描述

举报

相关推荐

0 条评论