十五,Spring Boot 整合连接数据库(详细配置)

cnblogs 2024-09-17 12:09:00 阅读 55

十五,Spring Boot 整合连接数据库(详细配置)

@

目录

  • 十五,Spring Boot 整合连接数据库(详细配置)
  • 最后:

JDBC + HikariDataSource(Spring Boot内置的数据库)

HikariDataSource: 目前市面上非常优秀的数据源,是 Spring Boot2默认数据源。

演示 Spring Boot 如何通过 jdbc + HikariDataSource 完成对 MySQL操作。


准备好我们需要测试的数据表,

<code>

# 创建 furns_ssm

DROP DATABASE if EXISTS spring_boot

CREATE DATABASE spring_boot

USE spring_boot

# 创建家居表 数据表

CREATE TABLE furn (

id INT(11) PRIMARY KEY auto_increment, -- id

name VARCHAR(64) not NULL, -- 家具名

maker VARCHAR(64) not null, -- 厂商

`price` DECIMAL(11,2) not null, -- 价格

`sales` INT(11) not null, -- 销量

`stock` INT(11) not null, -- 库存

`img_path` VARCHAR(256) not null -- 照片路径

-- 注意:不是单引号

);

SELECT * from furn;

INSERT into furn(`id`,`name`,`maker`,`price`,`sales`,`stock`,`img_path`)

VALUES(null,'北欧风格小桌子','熊猫家居',100,666,7,'assets/images/producth')

INSERT into furn(`id`,`name`,`maker`,`price`,`sales`,`stock`,`img_path`)

VALUES(null,'简约风格小椅子','熊猫家居',200,666,7,'assets/images/producth')

INSERT into furn(`id`,`name`,`maker`,`price`,`sales`,`stock`,`img_path`)

VALUES(null,'典雅风格小桌子','蚂蚁家居',100,666,7,'assets/images/producth')

INSERT into furn(`id`,`name`,`maker`,`price`,`sales`,`stock`,`img_path`)

VALUES(null,'温馨风格小桌子','蚂蚁家居',100,666,7,'assets/images/producth')

在这里插入图片描述

导入相关的 <code>jar 依赖。

在这里插入图片描述

<code><?xml version="1.0" encoding="UTF-8"?>code>

<project xmlns="http://maven.apache.org/POM/4.0.0"code>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"code>

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">code>

<modelVersion>4.0.0</modelVersion>

<groupId>com.rainbowsea</groupId>

<artifactId>springboot_database</artifactId>

<version>1.0-SNAPSHOT</version>

<!-- 导入SpringBoot 父工程-规定写法-->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.5.3</version>

</parent>

<!-- 导入web项目场景启动器:会自动导入和web开发相关的jar包所有依赖【库/jar】-->

<!-- 后面还会在说明spring-boot-starter-web 到底引入哪些相关依赖-->

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<!--引入lombok-->

<dependency>

<groupId>org.projectlombok</groupId>

<artifactId>lombok</artifactId>

</dependency>

<!-- 进行数据库开发,引入 data-jdbc starter spring boot 自带的数据库连接池

HikariDataSource-->

<!-- 注意:

spring boot 导入的该 jdbc HikariDataSource 数据源

1. HikariDataSource 数据源

2. jdbc 数据链接

3. tx 事务

4. 注意:spring boot 并不能知道,你的项目想要操作的是什么数据库,

所以你需要指定你想要的数据库,告诉spring boot 你想要连接的数据库

-->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-data-jdbc</artifactId>

</dependency>

<!--

1, 引入mysql 驱动,这里我们引入的是 8.0.26

2. 这个mysql驱动的版本要和实际安装的mysql版本一致

3. 我们的spring-boot mysql 区别仲裁版本是 <mysql.version>8.0.26</mysql.version>

4. 这个mysql 驱动的版本,也可以在pom.xml properties 配置文件当中指定。

-->

<dependency>

<groupId>mysql</groupId>

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

<!-- <version>8.0.26</version>-->

</dependency>

<!-- 如何开发springboot 测试类,我们需要引入 spring-boot-starter-test -->

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-test</artifactId>

</dependency>

</dependencies>

</project>

注意:我们这里导入的MySQL的版本

<!--

1, 引入mysql 驱动,这里我们引入的是 8.0.26

2. 这个mysql驱动的版本要和实际安装的mysql版本一致

3. 我们的spring-boot mysql 区别仲裁版本是 <mysql.version>8.0.26</mysql.version>

4. 这个mysql 驱动的版本,也可以在pom.xml properties 配置文件当中指定。

-->

<dependency>

<groupId>mysql</groupId>

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

<!-- <version>8.0.26</version>-->

</dependency>

创建数据表 furn 映射在Java当中的 Bean 对象。这里我们使用了 lombok 插件进行。

在这里插入图片描述

<code>package com.rainbowsea.springboot.bean;

import lombok.AllArgsConstructor;

import lombok.Data;

import lombok.NoArgsConstructor;

import java.math.BigDecimal;

@Data

@AllArgsConstructor

@NoArgsConstructor // 使用 lombok 插件进行自动配置

public class Furn {

private Integer id;

private String name;

private String maker;

private BigDecimal price;

private Integer sales;

private Integer stock;

private String imgPath = "assets/images/product-image/1.jpg";

}

编写启动程序:

在这里插入图片描述

<code>package com.rainbowsea.springboot;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication

public class Application {

public static void main(String[] args) {

ConfigurableApplicationContext ioc = SpringApplication.run(Application.class, args);

}

}

我们需要在类路径下 resources 创建一个名为 application.yaml 文件,编写连接的数据库信息。

在这里插入图片描述

<code>spring:

datasource:

url: jdbc:mysql://localhost:3306/spring_boot?useSSL=true&useUnicode=true&characterEncoding=UTF-8

username: root

password: MySQL123

driver-class-name: com.mysql.cj.jdbc.Driver

运行测试:

这里我们编写测试程序,注意使用:@SpringBootTest 注解有两个注意事项:

  1. 在 Spring Boot 当中,使用 @SpringBootTest 注解,必须要定义好,场景启动器,如果没有定义场景启动器,是会报错的。

在这里插入图片描述

  1. 使用 @SpringBootTest 测试的类,一定要和实际main类,所在包一致 ,不然也是会报错的。如果所在包不一致的话,则需要,使用@SpringBootTest当中的<code>classes 类。

在这里插入图片描述

运行测试:

在这里插入图片描述

最后:

“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。