JPA的多数据源配置方法及驼峰命名转下划线的一个坑
网上的诸多方法都没有有效解决JPA驼峰无法转成下划线问题。
这里自己推敲了一下,给一个解决方案,虽然JPA即将被我弃用换成mybatis-plus,但这个问题还是记录一下,以免以后又重构带JPA的老系统踩坑:
yml配置
spring:
datasource:
fist-base:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: 主数据源url
username: root
password: 6666666666666666
validation-query: SELECT 1
test-on-borrow: true
test-while-idle: true
time-between-eviction-runs-millis: 3600000
second-base:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: 第二数据源url
username: root
password: 666666666666666
validation-query: SELECT 1
test-on-borrow: true
test-while-idle: true
time-between-eviction-runs-millis: 3600000
third-base:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: 第三数据源url
username: root
password: 666666666666666
validation-query: SELECT 1
test-on-borrow: true
test-while-idle: true
time-between-eviction-runs-millis: 3600000
jpa:
show-sql: true
hibernate:
ddl-auto: update
database-platform: org.hibernate.dialect.MySQLDialect
多数据源配置类
package com.wwstation.websystem.config;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import javax.sql.DataSource;
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name="fistBase")
@Qualifier("fistBase")
@ConfigurationProperties(prefix="spring.datasource.first-base")
public DataSource primaryDataSuorce(