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

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

时间:2024-09-17 11:35:49浏览次数:7  
标签:-- Spring 数据库 mysql boot Boot spring org null

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

@

目录


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

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

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


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


# 创建 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')

在这里插入图片描述

导入相关的 jar 依赖。

在这里插入图片描述

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <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 插件进行。

在这里插入图片描述

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";
}

编写启动程序:

在这里插入图片描述

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 文件,编写连接的数据库信息。

在这里插入图片描述

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当中的classes 类。

在这里插入图片描述

运行测试:

在这里插入图片描述

最后:

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

在这里插入图片描述

标签:--,Spring,数据库,mysql,boot,Boot,spring,org,null
From: https://www.cnblogs.com/TheMagicalRainbowSea/p/18417012

相关文章

  • 大数据技术原理与应用——从入门到文档数据库
    大数据技术原理与应用3次信息化的浪潮研究问题的四个阶段大数据技术的层次大数据的计算模式PaaS物联网的概念云计算、大数据、物联网之间的关系Hadoop应用现状选择Hdoop需要考虑的因素Hadoop的定量评分(满分为5分)总体评价Ubuntu的一些基本知识(之所以不......
  • 基于SpringBoot+Vue的学生交流互助平台设计与实现(2024最新,原创项目)
    文章目录1.前言2.详细视频演示3.论文参考4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.可行性分析7.系统测试7.1系统测试的目的7.2系统功能测试8.数据库表设计9.代码参考10.数据库脚本11.作者推荐项目12.为什么选择我?13.获取源......
  • 基于SpringBoot+Vue的小区闲置物品交易网站设计与实现
    文章目录1.前言2.详细视频演示3.论文参考4.项目运行截图5.技术框架5.1后端采用SpringBoot框架5.2前端框架Vue6.可行性分析7.系统测试7.1系统测试的目的7.2系统功能测试8.数据库表设计9.代码参考10.数据库脚本11.作者推荐项目12.为什么选择我?13.获取源......
  • Python 操作 MySQL 数据库
    Python操作MySQL数据库Python标准数据库接口为PythonDB-API,PythonDB-API为开发人员提供了数据库应用编程接口。Python数据库接口支持非常多的数据库,你可以选择适合你项目的数据库:GadFlymSQLMySQLPostgreSQLMicrosoftSQLServer2000InformixInterbaseOracleSybase......
  • 数据库的基本使用
     数据存储逻辑   数据存储的逻辑是行和列。我们根据数据库中的表的结构来认识数据的存储结构,用什么的结构去呈现我们所要存储的数据。               6.2数据库架构   MySQL是一种可移植的数据库,几乎能在当前所有的操作系统中运行,如......
  • Faiss向量数据库
    安装Faiss:......
  • 关于Spring Boot+MySQL的房地产销售管理系统
    ​博客主页:   曾几何时…项目背景时代的进步使人们的生活实现了部分自动化,由最初的全手动办公已转向手动+自动相结合的方式。比如各种办公系统、智能电子电器的出现,都为人们生活的享受提供帮助。采用新型的自动化方式可以减少手动的办公时间,增加正确率从而增加人们......
  • 汽车资讯网站|基于springboot+vue的汽车资讯网站(源码+数据库+文档)
    汽车资讯网站目录基于springboot+vue的汽车资讯网站一、前言二、系统设计三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领......
  • 企业管理|基于springboot+vue的企业OA管理系统(源码+数据库+文档)
    企业管理目录基于springboot+vue的企业OA管理系统一、前言二、系统设计三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取:博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域......
  • 基于springboot+vue的Vue和SpringBoot的城市环保行政执法系统
    前言......