国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 灌云县| 新绛县| 万州区| 营山县| 阳东县| 玉林市| 桐城市| 杭州市| 德兴市| 崇阳县| 思南县| 金昌市| 崇信县| 房山区| 定襄县| 元氏县| 胶州市| 丰县| 东乡| 全椒县| 东安县| 开平市| 东乌珠穆沁旗| 溆浦县| 临桂县| 广汉市| 利川市| 长武县| 曲阳县| 泽普县| 仁布县| 聂荣县| 全州县| 泗水县| 卓资县| 图木舒克市| 海门市| 宜黄县| 三门县| 郑州市| 延安市|