2025年junit5 springboot 数据库引入(springboot内嵌数据库)

junit5 springboot 数据库引入(springboot内嵌数据库)写在前面 SpringBoot 创建项目非常方便 而且进行数据访问抛弃了很多繁琐的配置 我前面写的系列博文中 有教大家如何使用 SpringBoot 进行数据访问 里面谈到了整合 JDBC MyBatis 以及 JPA 我自己实际开发中 如果没有什么要求限制的话 比较习惯使用 JPA 进行数据访问 所以在这里 我专门编写一篇博文 来教如何使用 SpringBoot 整合 JPA 进行多数据库的配置 准备 开始之前呢

大家好,我是讯享网,很高兴认识大家。



写在前面

SpringBoot创建项目非常方便,而且进行数据访问抛弃了很多繁琐的配置,我前面写的系列博文中,有教大家如何使用SpringBoot进行数据访问,里面谈到了整合JDBC、MyBatis以及JPA。我自己实际开发中,如果没有什么要求限制的话,比较习惯使用JPA进行数据访问,所以在这里,我专门编写一篇博文,来教如何使用SpringBoot整合JPA,进行多数据库的配置

准备

开始之前呢,我们需要先创建项目啦,创建项目使用的是Idea的Spring Initializr进行创建,选择SpringBoot场景的时候,勾选Web、Spring Data JPA、MySQL Driver三个就可以了,如下,然后项目创建成功。

SpringBoot整合JPA,配置多数据库_bc
讯享网

SpringBoot整合JPA,配置多数据库_bc_02

如果我们只是进行一个数据库的访问,我们只需要对数据库进行简单的配置,提供相应账号和密码就可以了,不过多个数据库也不是很麻烦,也就是相当于多一份配置内容出来而已,所有配置内容如下

application.properties

我们都知道,我们在配置文件中写的配置,需要我们通过配置类的注入,覆盖掉默认的配置,这样才会生效,所以,我们能够想到,既然是需要使用多个数据库,对应的自然会有多个数据库的相关配置类(这篇博文的示例中,我使用两个数据库,所以有两个数据配置类)

SpringBoot整合JPA,配置多数据库_java_03

我们知道,我们首先在只配置类中编写两个配置数据库的组件,然后分别其组件名,具体内容如下。

DataSourceConfig.java

然后我们编写了针对两个数据库的配置类,里面的代码非常的相似,相信你敲了一遍之后,能够感悟到点什么。

PrimaryConfig.java

SecondaryConfig.java

实体类

首先我先把实体类的目录结构放在这,方便后面编写,然后说道实体类的创建,这里可以使用Idea帮我们逆向生成实体类,也就是依照在数据库中已经创建好的数据库表,自动生成实体类,不过这种方式生成出来的实体类,不符合现在编写JPA的序列化格式,生成出来的还是要增改(当然啦,你可以直接去更改实体类生成的模板,没错是可以改的,具体怎么改我这里就不赘述了,自己百度就可以知道),我就来说手动创建,手动创建的好处就是能够对知识点进行更加深入的掌握,当然啦,敲起来比较费时间。

SpringBoot整合JPA,配置多数据库_spring_04

User.java

Userq.java

写到这里,就要说一下前面主配置文件里面的一些配置是什么了,如下

SpringBoot整合JPA,配置多数据库_bc_05

它还有其他属性,如下:

  • ddl-auto:create—-每次运行该程序,没有表格会新建表格,表内有数据会清空
  • ddl-auto:create-drop—-每次程序结束的时候会清空表
  • ddl-auto:update—-每次运行程序,没有表格会新建表格,表内有数据不会清空,只会更新
  • ddl-auto:validate—-运行程序会校验数据与数据库的字段类型是否相同,不同会报错

Dao层

SpringBoot整合JPA,配置多数据库_spring_06

到此,我们的多数据库配置流程到此结束,最后就是测试阶段了,我们来验证一下我们的配置是否有用。测试类的内容如下:

SpringBoot整合JPA,配置多数据库_java_07

SpringBoot整合JPA,配置多数据库_java_08

小讯
上一篇 2025-06-07 11:41
下一篇 2025-06-05 11:26

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/141506.html