宁睿 发表于 2024-9-17 10:43:21

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

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

@
目录

[*]十五,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 * fromfurn;


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')https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111332152-401005222.png
导入相干的 jar 依靠。
https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111332168-1184772524.png
<?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>

   
    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.5.3</version>
    </parent>

   
   
    <dependencies>
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
      </dependency>
      
      <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
      </dependency>




      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
      </dependency>


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

      </dependency>


      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
      </dependency>

    </dependencies>


</project>注意:我们这里导入的MySQL的版本
      <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>

      </dependency>创建数据表 furn 映射在Java当中的 Bean 对象。这里我们利用了 lombok 插件举行。
https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111334196-810450103.png
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;
    privateInteger sales;
    privateInteger stock;
    private String imgPath = "assets/images/product-image/1.jpg";
}编写启动程序:
https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111334152-1222920230.png
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 文件,编写毗连的数据库信息。
https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111332182-2012975035.png
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注解有两个注意事项:

[*]在 Spring Boot 当中,利用 @SpringBootTest 注解,必须要定义好,场景启动器,如果没有定义场景启动器,是会报错的。
https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111334182-170776901.png

[*]利用 @SpringBootTest 测试的类,一定要和实际main类,所在包一致 ,不然也是会报错的。如果所在包不一致的话,则需要,利用@SpringBootTest当中的classes 类。
https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111334203-1396490329.png
运行测试:
https://img2024.cnblogs.com/blog/3084824/202409/3084824-20240917111332165-1005610511.png
最后:

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 十五,Spring Boot 整合毗连数据库(详细配置)