金币系统后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
2.1 KiB

  1. package com.example.demo.config;
  2. import com.zaxxer.hikari.HikariDataSource;
  3. import lombok.extern.slf4j.Slf4j;
  4. import org.apache.ibatis.session.SqlSessionFactory;
  5. import org.mybatis.spring.SqlSessionFactoryBean;
  6. import org.mybatis.spring.SqlSessionTemplate;
  7. import org.springframework.beans.factory.annotation.Qualifier;
  8. import org.springframework.boot.context.properties.ConfigurationProperties;
  9. import org.springframework.boot.jdbc.DataSourceBuilder;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
  13. import javax.sql.DataSource;
  14. @Slf4j
  15. @Configuration
  16. public class Mysql2DataSourceConfig {
  17. @Bean(name = "mysql2DataSource")
  18. public DataSource mysql2DataSource() {
  19. HikariDataSource dataSource = new HikariDataSource();
  20. dataSource.setJdbcUrl("jdbc:mysql://39.101.133.168:3306/hwgold?serverTimezone=Asia/Shanghai&useSSL=false&useUnicode=true&characterEncoding=UTF-8");
  21. dataSource.setUsername("hljw");
  22. dataSource.setPassword("5dmWCCKfEk3TTeyn");
  23. dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
  24. dataSource.setMaximumPoolSize(10);
  25. dataSource.setPoolName("mysql2HikariCP");
  26. log.info("mysql2 DataSource initialized with pool-name: {}", dataSource.getPoolName());
  27. return dataSource;
  28. }
  29. @Bean(name = "mysql2SqlSessionFactory")
  30. public SqlSessionFactory mysql2SqlSessionFactory(@Qualifier("mysql2DataSource") DataSource dataSource) throws Exception {
  31. SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
  32. sessionFactory.setDataSource(dataSource);
  33. // sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapperLink/*.xml"));
  34. return sessionFactory.getObject();
  35. }
  36. @Bean(name = "mysql2SqlSessionTemplate")
  37. public SqlSessionTemplate mysql2SqlSessionTemplate(@Qualifier("mysql2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) {
  38. return new SqlSessionTemplate(sqlSessionFactory);
  39. }
  40. }