1.在配置文件中写入数据库信息

application.properties配置如下

spring.datasource.primary.url=jdbc:mysql://localhost:3306/test1
spring.datasource.primary.username=root
spring.datasource.primary.password=root
spring.datasource.primary.driver-class-name=com.mysql.jdbc.Driver

2.创建Spring配置类,定义DataSource用来读取application.properties中的配置

@Configuration
public class DataSourceConfig {@Bean(name = "primaryDataSource")//命名这个datasource,用来区分不同的bean,比如多个数据库源@Qualifier("primaryDataSource")//@Autowired默认是根据类型进行注入的,因此如果有多个类型一样的Bean候选者,Qualifier则需要限定其中一个候选者,否则将抛出异常,@Qualifier限定描述符除了能根据名字进行注入,更能进行更细粒度的控制如何选择候选者@ConfigurationProperties(prefix="spring.datasource.primary")//读取前缀是什么的配置public DataSource primaryDataSource() {return DataSourceBuilder.create().build();}
}

3.增加JPA配置

@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef="entityManagerFactoryPrimary",transactionManagerRef="transactionManagerPrimary",basePackages= { "com.didispace.domain.p" }) //设置Repository所在位置
public class PrimaryConfig {@Autowired @Qualifier("primaryDataSource")private DataSource primaryDataSource;@Primary@Bean(name = "entityManagerPrimary")public EntityManager entityManager(EntityManagerFactoryBuilder builder) {return entityManagerFactoryPrimary(builder).getObject().createEntityManager();}@Primary@Bean(name = "entityManagerFactoryPrimary")public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary (EntityManagerFactoryBuilder builder) {return builder.dataSource(primaryDataSource).properties(getVendorProperties(primaryDataSource)).packages("com.didispace.domain.p") //设置实体类所在位置.persistenceUnit("primaryPersistenceUnit").build();}@Autowiredprivate JpaProperties jpaProperties;private Map<String, String> getVendorProperties(DataSource dataSource) {return jpaProperties.getHibernateProperties(dataSource);}@Primary@Bean(name = "transactionManagerPrimary")public PlatformTransactionManager transactionManagerPrimary(EntityManagerFactoryBuilder builder) {return new JpaTransactionManager(entityManagerFactoryPrimary(builder).getObject());}}

数据源的实体和数据访问对象位于:com.didispace.domain.p

4.在package下创建实体和数据访问接口

@Entity
public class User {@Id@GeneratedValueprivate Long id;@Column(nullable = false)private String name;@Column(nullable = false)private Integer age;public User(){}public User(String name, Integer age) {this.name = name;this.age = age;}// 省略getter、setter}
public interface UserRepository extends JpaRepository<User, Long> {}

至此,JPA配置完成。

使用的时候

@SpringApplicationConfiguration(Application.class)
public class ApplicationTests {@Autowiredprivate UserRepository userRepository;@Testpublic void test() throws Exception {userRepository.save(new User("aaa", 10));userRepository.save(new User("bbb", 20));userRepository.save(new User("ccc", 30));userRepository.save(new User("ddd", 40));userRepository.save(new User("eee", 50));Assert.assertEquals(5, userRepository.findAll().size());}}

Springboot---JPA配置相关推荐

  1. SpringBoot JPA 配置多个数据库

    SpringBoot JPA 配置多个数据库 一.application.yml : 二.创建一个SpringBoot配置类 三.primary数据源的JPA配置 四.secondary数据源的JPA ...

  2. springboot jpa 配置多数据源

    jpa 多数据源配置 多个 mysql 数据库配置 springboot jpa 配置多数据源其实也并不难,只需要在 properties 或者 yml中简单配置并在项目中引入配置即可. 下面以 ym ...

  3. springboot+jpa配置多数据源(Oracle+SqlServer)

    本贴主要讲解配置多数据源 springboot+jpa的整合需要自行准备好 1.maven中要导入Oracle和SqlServer的jar包 <dependency><groupId ...

  4. SpringBoot JPA配置多数据源(同类型库)教程

    SpringBoot项目配置多数据源主要分为以下个步骤: 确定好所连接的数据库的资源(包括url username password) 将两个库的信息写入到配置文件中(application.yaml ...

  5. springboot jpa 配置多数据源报错解决 Consider defining a bean named ‘entityManagerFactory‘

    版本 springboot 2.6.x 现象 jpa配置多数据源后启动报错 Consider defining a bean named 'entityManagerFactory' 解决 方法1:将 ...

  6. springboot + JPA 配置双数据源

    一.首先配置application.yml文件设置主从数据库 spring:servlet:multipart:max-file-size: 20MBmax-request-size: 20MBpro ...

  7. SpringBoot+ElasticSearch7.x+JPA配置多数据源

    SpringBoot+ElasticSearch7.x+JPA配置多数据源 这里分为测试环境配置和正式环境配置,大体相差无几 ESTestConfig 1 @Configuration2 @Confi ...

  8. springboot+jpa 实现不同数据库的多数据源配置(坑整理)

    在搭建springboot+jpa 实现不同数据库的多数据源配置过程中会遇到很多坑, SpringBoot引入mysql源的pom.xml等的配置:https://www.jianshu.com/p/ ...

  9. SpringBoot的Spring Data JPA配置

    配置文件加载的优先级顺序 项目根目录下config文件夹中的配置文件 项目根目录下的配置文件 resources目录下config文件夹中的配置文件 resources目录下的配置文件 注:相应的.y ...

  10. Springboot多数据源+Jpa配置

    随着业务复杂程度的增加,单一数据源越来越不满足具体的业务逻辑以及实现. 这里我用到了MySQL和Presto两种数据源: 多数据源配置GlobalDataSourceConfiguration: @C ...

最新文章

  1. 页面刷新vuex数据消失问题解决方案
  2. Spring Boot 多版本更新,紧急修复 RFD 安全漏洞
  3. buck变换器设计matlab_2.5V/2A 高质量电源设计
  4. 2.Nginx学习-The HTTP Core module
  5. 如何在VMWare的Ubuntu虚拟机中设置共享文件夹
  6. 关于zkfc与zkserver频繁断开的问题
  7. Flutter 微信分享功能实现
  8. 正则表达式(面试会考)
  9. 玩转Go语言之数据类型转换
  10. 安装完jdk在cmd输入Java没有反应的解决办法
  11. 基于YACC的TINY语法分析器的构建
  12. 计算机系统结构模拟试卷3,计算机系统结构全真模拟试卷.pdf
  13. H5播放Rtmp之Flowplayer播放
  14. 传统媒体如何借力微信
  15. word文档分栏怎么设置
  16. 全国大学生英语竞赛C类
  17. 伦斯勒理工大学计算机专业,伦斯勒理工学院计算机科学硕士排名第60(2020年TFE Times排名)...
  18. HyperLynx(二十六)电源完整性之AC去耦仿真实例(一)
  19. 学校计算机社团目标,电脑社团活动计划
  20. 中科蓝讯 AB32VG1 开发板 GPIO 控制RGB彩灯实验

热门文章

  1. php 如何封装类库,ThinkPHP里的import方法用于类库导入的封装实现实例详解
  2. HUAWEI 中级网络工程师
  3. EMD EEMD CEEMD对应的matlab工具包
  4. DataTables PHP AJAX 分页
  5. html表格怎么去除重复,在HTML中重复表格标题
  6. java byte_Java byte数据类型详解
  7. Lypunov函数是什么?
  8. 【群话题精华】五月集锦—— 机器学习和深度学习中一些值得思考的问题
  9. 网络设备类型判断方法(原创)
  10. VMware11虚拟机下安装Centos6.5