十五,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>
-
- <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 插件举行。
- 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 注解有两个注意事项:
- 在 Spring Boot 当中,利用 @SpringBootTest 注解,必须要定义好,场景启动器,如果没有定义场景启动器,是会报错的。
- 利用 @SpringBootTest 测试的类,一定要和实际main类,所在包一致 ,不然也是会报错的。如果所在包不一致的话,则需要,利用@SpringBootTest当中的classes 类。
运行测试:
最后:
“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继承在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |