国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Spring Boot 2.0多數據源配置方法實例詳解

2024-07-14 08:42:20
字體:
來源:轉載
供稿:網友

兩個數據庫實例,一個負責讀,一個負責寫。

datasource-reader:  type: com.alibaba.druid.pool.DruidDataSource  url: jdbc:mysql://192.168.43.61:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false  username: icbc  password: icbc  driver-class-name: com.mysql.jdbc.Driver  continue-on-error: false  sql-script-encoding: UTF-8datasource-writer:  type: com.alibaba.druid.pool.DruidDataSource  url: jdbc:mysql://192.168.43.61:3306/hdfs?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false  username: icbc  password: icbc  driver-class-name: com.mysql.jdbc.Driver  continue-on-error: false  sql-script-encoding: UTF-8

讀數據庫配置

@Configuration@EnableTransactionManagement@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactoryPrimary", transactionManagerRef = "transactionManagerPrimary", basePackages = {    "cn.cib.repository.read"})public class RepositoryPrimaryConfig {  @Autowired  @Qualifier("r_ds")  private DataSource r_ds;  @Bean(destroyMethod = "", name = "entityManagerPrimary")  @Primary  public EntityManager entityManager() {    return entityManagerFactoryPrimary().getObject().createEntityManager();  }  @Bean(destroyMethod = "", name = "entityManagerFactoryPrimary")  @Primary  public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary() {    HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();    LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();    factoryBean.setDataSource(r_ds);    factoryBean.setJpaVendorAdapter(jpaVendorAdapter);    factoryBean.setJpaProperties(HibernatePropertiesBuilder.hibernateProperties());    factoryBean.setPackagesToScan("cn.cib.repository.read", "cn.cib.entity.read");    factoryBean.setPersistenceUnitName("read");    return factoryBean;  }  @Bean(destroyMethod = "", name = "transactionManagerPrimary")  @Primary  PlatformTransactionManager transactionManagerPrimary() {    return new JpaTransactionManager(entityManagerFactoryPrimary().getObject());  }}

寫數據庫配置

@Configuration@EnableTransactionManagement@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactorySecondary", transactionManagerRef = "transactionManagerSecondary", basePackages = {    "cn.cib.repository.write"})public class RepositorySecondaryConfig {  @Autowired  @Qualifier("w_ds")  private DataSource w_ds;  @Bean(destroyMethod = "", name = "entityManagerSecondary")  public EntityManager entityManager() {    return entityManagerFactorySecondary().getObject().createEntityManager();  }  @Bean(destroyMethod = "", name = "entityManagerFactorySecondary")  public LocalContainerEntityManagerFactoryBean entityManagerFactorySecondary() {    HibernateJpaVendorAdapter jpaVendorAdapter = new HibernateJpaVendorAdapter();    LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();    factoryBean.setDataSource(w_ds);    factoryBean.setJpaVendorAdapter(jpaVendorAdapter);    factoryBean.setJpaProperties(HibernatePropertiesBuilder.hibernateProperties());    factoryBean.setPackagesToScan("cn.cib.repository.write","cn.cib.entity.write");    factoryBean.setPersistenceUnitName("write");    return factoryBean;  }  @Bean(destroyMethod = "", name = "transactionManagerSecondary")  PlatformTransactionManager transactionManagerSecondary() {    return new JpaTransactionManager(entityManagerFactorySecondary().getObject());  }}

Hibernate相關屬性配置

public class HibernatePropertiesBuilder {  public static Properties hibernateProperties() {    final Properties hibernateProperties = new Properties();    hibernateProperties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");    hibernateProperties.setProperty("hibernate.hbm2ddl.auto", "update");    hibernateProperties.setProperty("hibernate.show_sql", "true");    hibernateProperties.setProperty("hibernate.format_sql", "true");    return hibernateProperties;  }}

總結

以上所述是小編給大家介紹的Spring Boot 2.0多數據源配置方法實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大丰市| 敦煌市| 孟津县| 苍山县| 闽侯县| 平果县| 霍邱县| 陈巴尔虎旗| 威信县| 南江县| 福州市| 日照市| 锡林郭勒盟| 肃北| 德州市| 松溪县| 岳阳县| 烟台市| 达孜县| 巴中市| 宁波市| 乌鲁木齐市| 明水县| 满洲里市| 泰安市| 新沂市| 萨迦县| 松阳县| 林西县| 南雄市| 潼关县| 慈溪市| 昆山市| 扬州市| 沙坪坝区| 陆河县| 嵊州市| 邢台县| 遵义市| 晋中市| 枣庄市|