Springboot---JPA配置
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配置相关推荐
- SpringBoot JPA 配置多个数据库
SpringBoot JPA 配置多个数据库 一.application.yml : 二.创建一个SpringBoot配置类 三.primary数据源的JPA配置 四.secondary数据源的JPA ...
- springboot jpa 配置多数据源
jpa 多数据源配置 多个 mysql 数据库配置 springboot jpa 配置多数据源其实也并不难,只需要在 properties 或者 yml中简单配置并在项目中引入配置即可. 下面以 ym ...
- springboot+jpa配置多数据源(Oracle+SqlServer)
本贴主要讲解配置多数据源 springboot+jpa的整合需要自行准备好 1.maven中要导入Oracle和SqlServer的jar包 <dependency><groupId ...
- SpringBoot JPA配置多数据源(同类型库)教程
SpringBoot项目配置多数据源主要分为以下个步骤: 确定好所连接的数据库的资源(包括url username password) 将两个库的信息写入到配置文件中(application.yaml ...
- springboot jpa 配置多数据源报错解决 Consider defining a bean named ‘entityManagerFactory‘
版本 springboot 2.6.x 现象 jpa配置多数据源后启动报错 Consider defining a bean named 'entityManagerFactory' 解决 方法1:将 ...
- springboot + JPA 配置双数据源
一.首先配置application.yml文件设置主从数据库 spring:servlet:multipart:max-file-size: 20MBmax-request-size: 20MBpro ...
- SpringBoot+ElasticSearch7.x+JPA配置多数据源
SpringBoot+ElasticSearch7.x+JPA配置多数据源 这里分为测试环境配置和正式环境配置,大体相差无几 ESTestConfig 1 @Configuration2 @Confi ...
- springboot+jpa 实现不同数据库的多数据源配置(坑整理)
在搭建springboot+jpa 实现不同数据库的多数据源配置过程中会遇到很多坑, SpringBoot引入mysql源的pom.xml等的配置:https://www.jianshu.com/p/ ...
- SpringBoot的Spring Data JPA配置
配置文件加载的优先级顺序 项目根目录下config文件夹中的配置文件 项目根目录下的配置文件 resources目录下config文件夹中的配置文件 resources目录下的配置文件 注:相应的.y ...
- Springboot多数据源+Jpa配置
随着业务复杂程度的增加,单一数据源越来越不满足具体的业务逻辑以及实现. 这里我用到了MySQL和Presto两种数据源: 多数据源配置GlobalDataSourceConfiguration: @C ...
最新文章
- 页面刷新vuex数据消失问题解决方案
- Spring Boot 多版本更新,紧急修复 RFD 安全漏洞
- buck变换器设计matlab_2.5V/2A 高质量电源设计
- 2.Nginx学习-The HTTP Core module
- 如何在VMWare的Ubuntu虚拟机中设置共享文件夹
- 关于zkfc与zkserver频繁断开的问题
- Flutter 微信分享功能实现
- 正则表达式(面试会考)
- 玩转Go语言之数据类型转换
- 安装完jdk在cmd输入Java没有反应的解决办法
- 基于YACC的TINY语法分析器的构建
- 计算机系统结构模拟试卷3,计算机系统结构全真模拟试卷.pdf
- H5播放Rtmp之Flowplayer播放
- 传统媒体如何借力微信
- word文档分栏怎么设置
- 全国大学生英语竞赛C类
- 伦斯勒理工大学计算机专业,伦斯勒理工学院计算机科学硕士排名第60(2020年TFE Times排名)...
- HyperLynx(二十六)电源完整性之AC去耦仿真实例(一)
- 学校计算机社团目标,电脑社团活动计划
- 中科蓝讯 AB32VG1 开发板 GPIO 控制RGB彩灯实验