當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Boot配置多数据源
生活随笔
收集整理的這篇文章主要介紹了
Spring Boot配置多数据源
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
application.properties文件
server.port=8053spring.datasource.primary.jdbc-url=jdbc:mysql://xxxxxxx:3306/xxxxxxx spring.datasource.primary.username=xxxxxxx spring.datasource.primary.password=xxxxxxx spring.datasource.primary.driver-class-name= com.mysql.cj.jdbc.Driverspring.datasource.secondary.jdbc-url=jdbc:mysql://xxxxxxx:3306/xxxxxxx spring.datasource.secondary.username=xxxxxxx spring.datasource.secondary.password=xxxxxxx spring.datasource.secondary.driver-class-name= com.mysql.cj.jdbc.Driver# Hikari will use the above plus the following to setup connection pooling spring.datasource.type=com.zaxxer.hikari.HikariDataSource #最小空閑連接,默認值10,小于0或大于maximum-pool-size,都會重置為maximum-pool-size spring.datasource.hikari.minimum-idle=5 #最大連接數,小于等于0會被重置為默認值10;大于零小于1會被重置為minimum-idle的值 spring.datasource.hikari.maximum-pool-size=15 #自動提交從池中返回的連接,默認值為true spring.datasource.hikari.auto-commit=true #空閑連接超時時間,默認值600000(10分鐘),大于等于max-lifetime且max-lifetime>0,會被重置為0;不等于0且小于10秒,會被重置為10秒。 #只有空閑連接數大于最大連接數且空閑時間超過該值,才會被釋放 spring.datasource.hikari.idle-timeout=30000 #連接池名稱,默認HikariPool-1 spring.datasource.hikari.pool-name=Hikari #連接最大存活時間.不等于0且小于30秒,會被重置為默認值30分鐘.設置應該比mysql設置的超時時間短;單位ms spring.datasource.hikari.max-lifetime=55000 #連接超時時間:毫秒,小于250毫秒,會被重置為默認值30秒 spring.datasource.hikari.connection-timeout=30000 #連接測試查詢 spring.datasource.hikari.connection-test-query=SELECT 1pom文件
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency>DataSourceConfig文件
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.jdbc.core.JdbcTemplate;import javax.sql.DataSource;/*** @author qushen* @date 2021/6/14 15:03*/ @Configuration public class DataSourceConfig {@Bean(name = "primaryDataSource")@Qualifier("primaryDataSource")@ConfigurationProperties(prefix="spring.datasource.primary")public DataSource primaryDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "secondaryDataSource")@Qualifier("secondaryDataSource")@Primary@ConfigurationProperties(prefix="spring.datasource.secondary")public DataSource secondaryDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "primaryJdbcTemplate")public JdbcTemplate primaryJdbcTemplate(@Qualifier("primaryDataSource") DataSource dataSource) {return new JdbcTemplate(dataSource);}@Bean(name = "secondaryJdbcTemplate")public JdbcTemplate secondaryJdbcTemplate(@Qualifier("secondaryDataSource") DataSource dataSource) {return new JdbcTemplate(dataSource);}}jdbcserviceImlp文件
@Service @Log4j2 public class jdbcserviceImlp implements jdbcservice {@Autowired@Qualifier("primaryJdbcTemplate")protected JdbcTemplate jdbcTemplate1;@Autowired@Qualifier("secondaryJdbcTemplate")protected JdbcTemplate jdbcTemplate2;@Overridepublic String selectMysqlVersion() {String sql="SELECT * from table limit 1 ";List<Map<String, Object>> primary=jdbcTemplate1.queryForList(sql);log.info(primary);List<Map<String, Object>> secondary=jdbcTemplate2.queryForList(sql);log.info(secondary);return "成功";} }jdbcservice文件
public interface jdbcservice {String selectMysqlVersion(); }jdbcController文件
import com.sws.jdbcduo.service.jdbcservice; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;/*** @author qushen* @date 2021/6/14 15:19*/ @Slf4j @Controller @RequestMapping("/api") public class jdbcController {@Resourceprivate jdbcservice jdbcService;@RequestMapping("/jdbc")@ResponseBodypublic void jdbc(){String Response=jdbcService.selectMysqlVersion();log.info(Response);}}?
?
?
總結
以上是生活随笔為你收集整理的Spring Boot配置多数据源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java发送html模板
- 下一篇: gradle idea java ssm