十五,Spring Boot 整合连接数据库(详细配置)
文章目录
JDBC + HikariDataSource(Spring Boot内置的数据库)
HikariDataSource: 目前市面上非常优秀的数据源,是 Spring Boot2默认数据源。
演示 Spring Boot 如何通过 jdbc + HikariDataSource 完成对 MySQL操作。
准备好我们需要测试的数据表,
# 创建 furns_ssmDROPDATABASEifEXISTS spring_boot
CREATEDATABASE spring_boot
USE spring_boot
# 创建家居表 数据表CREATETABLE furn (
id INT(11)PRIMARYKEYauto_increment,-- id
name VARCHAR(64)notNULL,-- 家具名
maker VARCHAR(64)notnull,-- 厂商`price`DECIMAL(11,2)notnull,-- 价格`sales`INT(11)notnull,-- 销量`stock`INT(11)notnull,-- 库存`img_path`VARCHAR(256)notnull-- 照片路径-- 注意:不是单引号);SELECT*from furn;INSERTinto furn(`id`,`name`,`maker`,`price`,`sales`,`stock`,`img_path`)VALUES(null,'北欧风格小桌子','熊猫家居',100,666,7,'assets/images/producth')INSERTinto furn(`id`,`name`,`maker`,`price`,`sales`,`stock`,`img_path`)VALUES(null,'简约风格小椅子','熊猫家居',200,666,7,'assets/images/producth')INSERTinto furn(`id`,`name`,`maker`,`price`,`sales`,`stock`,`img_path`)VALUES(null,'典雅风格小桌子','蚂蚁家居',100,666,7,'assets/images/producth')INSERTinto 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"?><projectxmlns="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 插件进行。
packagecom.rainbowsea.springboot.bean;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importjava.math.BigDecimal;@Data@AllArgsConstructor@NoArgsConstructor// 使用 lombok 插件进行自动配置publicclassFurn{privateInteger id;privateString name;privateString maker;privateBigDecimal price;privateInteger sales;privateInteger stock;privateString imgPath ="assets/images/product-image/1.jpg";}
编写启动程序:
packagecom.rainbowsea.springboot;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.context.ConfigurableApplicationContext;@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(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-8username: root
password: MySQL123
driver-class-name: com.mysql.cj.jdbc.Driver
运行测试:
这里我们编写测试程序,注意使用:
@SpringBootTest
注解有两个注意事项:
- 在 Spring Boot 当中,使用 @SpringBootTest 注解,必须要定义好,场景启动器,如果没有定义场景启动器,是会报错的。
- 使用 @SpringBootTest 测试的类,一定要和实际main类,所在包一致 ,不然也是会报错的。如果所在包不一致的话,则需要,使用@SpringBootTest当中的
classes
类。
运行测试:
最后:
“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。感谢你们,我们总会在某个时刻再次相遇。”
版权归原作者 ChinaRainbowSea 所有, 如有侵权,请联系我们删除。