AppConfig.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package cn.gov.customs.data.config;
  2. import javax.sql.DataSource;
  3. /*
  4. * @Description:
  5. * @Author: wq
  6. * @Date: 2025/11/3.
  7. */
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.beans.factory.annotation.Qualifier;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
  13. import org.springframework.orm.jpa.JpaTransactionManager;
  14. import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
  15. import org.springframework.orm.jpa.vendor.Database;
  16. import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter;
  17. import org.springframework.transaction.PlatformTransactionManager;
  18. import org.springframework.transaction.annotation.EnableTransactionManagement;
  19. /**
  20. * transactionManagerRef 事务管理工厂引用名称,对应到@Bean注解对应的方法
  21. * entityManagerFactoryRef 实体管理工厂引用名称,对应到@Bean注解对应的方法
  22. */
  23. @Configuration
  24. @EnableTransactionManagement
  25. @EnableJpaRepositories(
  26. entityManagerFactoryRef="entityManagerApp",
  27. transactionManagerRef="transactionManagerApp",
  28. basePackages= {"cn.gov.customs.data.repository.app"}) //设置Repository所在位置 dao 文件的路径
  29. public class AppConfig {
  30. @Autowired
  31. @Qualifier("appDataSource")
  32. private DataSource appDataSource;
  33. @Bean
  34. PlatformTransactionManager transactionManagerApp() {
  35. return new JpaTransactionManager(entityManagerApp().getObject());
  36. }
  37. @Bean
  38. public LocalContainerEntityManagerFactoryBean entityManagerApp() {
  39. HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
  40. vendorAdapter.setDatabase(Database.MYSQL);
  41. vendorAdapter.setShowSql(true);
  42. LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean();
  43. factoryBean.setDataSource(appDataSource);
  44. factoryBean.setJpaVendorAdapter(vendorAdapter);
  45. factoryBean.setPackagesToScan("cn.gov.customs.data.entity.app*");//jpa对应的实体的位置
  46. return factoryBean;
  47. }
  48. }