当前位置: 首页 > news >正文

免费下ppt课件的网站python做电商网站

免费下ppt课件的网站,python做电商网站,郑州做网站优化运营商,微信分享网站短链接怎么做的Spring Data与多数据源配置 大家好#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编#xff0c;也是冬天不穿秋裤#xff0c;天冷也要风度的程序猿#xff01;今天我们来探讨如何在Spring Data中配置和使用多个数据源。 在现代应用程序中…Spring Data与多数据源配置 大家好我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编也是冬天不穿秋裤天冷也要风度的程序猿今天我们来探讨如何在Spring Data中配置和使用多个数据源。 在现代应用程序中处理多个数据源变得越来越常见。可能因为不同的数据存储需求例如读写分离、跨系统数据访问或者集成多个数据库系统。本文将详细讲解如何在Spring Boot中使用Spring Data配置多个数据源并提供具体的Java代码示例。 一、项目依赖 首先我们需要在pom.xml中添加Spring Boot、Spring Data JPA以及数据库驱动的依赖。 dependencies!-- Spring Boot Starter Data JPA --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependency!-- H2 Database --dependencygroupIdcom.h2database/groupIdartifactIdh2/artifactId/dependency!-- MySQL Database --dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactId/dependency /dependencies二、配置多数据源 我们将配置两个数据源一个用于H2数据库另一个用于MySQL数据库。 1. 配置文件 在application.yml中配置数据源信息。 spring:datasource:h2:url: jdbc:h2:mem:testdbdriver-class-name: org.h2.Driverusername: sapassword: passwordmysql:url: jdbc:mysql://localhost:3306/testdbdriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: passwordjpa:hibernate:ddl-auto: updateshow-sql: trueproperties:hibernate:dialect: org.hibernate.dialect.H2Dialectformat_sql: true2. 数据源配置类 我们需要为每个数据源创建单独的配置类。 package cn.juwatech.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 org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.orm.jpa.JpaTransactionManager; import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; import org.springframework.transaction.PlatformTransactionManager; import org.springframework.transaction.annotation.EnableTransactionManagement;import javax.persistence.EntityManagerFactory; import javax.sql.DataSource;Configuration EnableTransactionManagement public class DataSourceConfig {PrimaryBean(name h2DataSource)ConfigurationProperties(prefix spring.datasource.h2)public DataSource h2DataSource() {return DataSourceBuilder.create().build();}Bean(name mysqlDataSource)ConfigurationProperties(prefix spring.datasource.mysql)public DataSource mysqlDataSource() {return DataSourceBuilder.create().build();}PrimaryBean(name h2EntityManagerFactory)public LocalContainerEntityManagerFactoryBean h2EntityManagerFactory(Qualifier(h2DataSource) DataSource dataSource) {LocalContainerEntityManagerFactoryBean em new LocalContainerEntityManagerFactoryBean();em.setDataSource(dataSource);em.setPackagesToScan(cn.juwatech.model.h2);em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());em.setPersistenceUnitName(h2PU);return em;}Bean(name mysqlEntityManagerFactory)public LocalContainerEntityManagerFactoryBean mysqlEntityManagerFactory(Qualifier(mysqlDataSource) DataSource dataSource) {LocalContainerEntityManagerFactoryBean em new LocalContainerEntityManagerFactoryBean();em.setDataSource(dataSource);em.setPackagesToScan(cn.juwatech.model.mysql);em.setJpaVendorAdapter(new HibernateJpaVendorAdapter());em.setPersistenceUnitName(mysqlPU);return em;}PrimaryBean(name h2TransactionManager)public PlatformTransactionManager h2TransactionManager(Qualifier(h2EntityManagerFactory) EntityManagerFactory entityManagerFactory) {return new JpaTransactionManager(entityManagerFactory);}Bean(name mysqlTransactionManager)public PlatformTransactionManager mysqlTransactionManager(Qualifier(mysqlEntityManagerFactory) EntityManagerFactory entityManagerFactory) {return new JpaTransactionManager(entityManagerFactory);} }3. 启用JPA仓库 为每个数据源分别配置JPA仓库。 package cn.juwatech.config;import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories;Configuration EnableJpaRepositories(basePackages cn.juwatech.repository.h2,entityManagerFactoryRef h2EntityManagerFactory,transactionManagerRef h2TransactionManager ) EntityScan(basePackages cn.juwatech.model.h2) public class H2DataSourceConfig { }Configuration EnableJpaRepositories(basePackages cn.juwatech.repository.mysql,entityManagerFactoryRef mysqlEntityManagerFactory,transactionManagerRef mysqlTransactionManager ) EntityScan(basePackages cn.juwatech.model.mysql) public class MysqlDataSourceConfig { }三、定义实体类 在不同的包中定义不同数据源的实体类。 package cn.juwatech.model.h2;import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;Entity public class H2Entity {IdGeneratedValue(strategy GenerationType.AUTO)private Long id;private String name;// getters and setters }package cn.juwatech.model.mysql;import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id;Entity public class MysqlEntity {IdGeneratedValue(strategy GenerationType.AUTO)private Long id;private String name;// getters and setters }四、定义仓库接口 为每个数据源定义对应的仓库接口。 package cn.juwatech.repository.h2;import cn.juwatech.model.h2.H2Entity; import org.springframework.data.jpa.repository.JpaRepository;public interface H2EntityRepository extends JpaRepositoryH2Entity, Long { }package cn.juwatech.repository.mysql;import cn.juwatech.model.mysql.MysqlEntity; import org.springframework.data.jpa.repository.JpaRepository;public interface MysqlEntityRepository extends JpaRepositoryMysqlEntity, Long { }五、测试多数据源配置 最后我们编写一个测试类验证多数据源配置是否成功。 package cn.juwatech;import cn.juwatech.model.h2.H2Entity; import cn.juwatech.model.mysql.MysqlEntity; import cn.juwatech.repository.h2.H2EntityRepository; import cn.juwatech.repository.mysql.MysqlEntityRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class MultiDataSourceApplication implements CommandLineRunner {Autowiredprivate H2EntityRepository h2EntityRepository;Autowiredprivate MysqlEntityRepository mysqlEntityRepository;public static void main(String[] args) {SpringApplication.run(MultiDataSourceApplication.class, args);}Overridepublic void run(String... args) throws Exception {H2Entity h2Entity new H2Entity();h2Entity.setName(H2 Entity);h2EntityRepository.save(h2Entity);MysqlEntity mysqlEntity new MysqlEntity();mysqlEntity.setName(MySQL Entity);mysqlEntityRepository.save(mysqlEntity);System.out.println(H2 Entities: h2EntityRepository.findAll());System.out.println(MySQL Entities: mysqlEntityRepository.findAll());} }总结 通过本文的介绍我们展示了如何在Spring Data中配置和使用多个数据源。我们首先配置了数据源然后为每个数据源创建了单独的配置类和JPA仓库最后验证了多数据源配置的正确性。这个示例展示了Spring Boot在处理多数据源时的灵活性和强大功能希望对大家有所帮助。
http://www.w-s-a.com/news/211339/

相关文章:

  • 旅游网站建设要如何做百度商城网站建设
  • destoon 网站搬家中国企业500强都有哪些企业
  • 商城网站前端更新商品天天做吗哈尔滨做网站优化
  • 新乡网站开发wordpress 产品分类侧边栏
  • 网站自己做自己的品牌好做互联网企业分类
  • 项目网站建设方案石家庄网站快速排名
  • 网站开发大作业报告做电商网站的参考书
  • Apache局域网网站制作wordpress外链自动保存
  • 网站备案号要怎么查询千锋教育培训机构地址
  • 门户网站建设要求几款免费流程图制作软件
  • 花生壳域名可以做网站域名吗wordpress内链工具
  • 猎头公司网站模板网站伪静态作用
  • 工程建设教育网站html成品网页模板下载
  • 同一ip 网站 权重wordpress 菜单 小图标
  • 网站没有icp备案wordpress d8主题 4.1
  • 手机网站建设推荐企业宣传页模板
  • 杭州市富阳区建设局网站动态域名做网站
  • 网站如何免费做SEO优化靖安县城乡规划建设局网站
  • 室内设计网站平台学新媒体运营最好的培训学校
  • 招聘网站建设工作总结湘潭seo
  • 台山网站设计哈尔滨网站建设外包公司
  • 常州城投建设招标网站网页设计入门教学视频
  • 石家庄教育平台网站建设wordpress 访问量统计
  • 为什么买的网站模版不好用ftp网站建设
  • 做网站办公照片crm系统视频
  • 网站建设 招标文件南昌做网络推广的
  • 增城电子商务网站建设浙江省住房和城乡建设部网站
  • 企业网站宽度给多少手机软件开发公司排名
  • 装修设计网站哪个平台最好免费自助建站工具
  • 网站建设规划结构网站服务费怎么做分录