日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

yml连接sqlserver_springboot配置双数据源 MySQL和SqlServer

發布時間:2023/12/19 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 yml连接sqlserver_springboot配置双数据源 MySQL和SqlServer 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. pom文件的驅動jar包加上去,

compile 'com.microsoft.sqlserver:mssql-jdbc:6.2.2.jre8'

2. application.yml

spring:

datasource:

master:

jdbc-url: jdbc:mysql://10.12.49.55:3306/smartcity-01

username: root

password: root

# 使用druid數據源

type: com.alibaba.druid.pool.DruidDataSource

driverClassName: com.mysql.jdbc.Driver

other:

jdbc-url: jdbc:sqlserver://10.12.49.35:1433;DatabaseName=LandscapingDB

username: sa

password: Sql123

#使用druid數據源

type: com.alibaba.druid.pool.DruidDataSource

driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver

注意不要使用url,要使用jdbc-url

主數據庫配置:

package com.pactera.scm.config;

import org.apache.ibatis.session.SqlSessionFactory;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.mybatis.spring.SqlSessionTemplate;

import org.mybatis.spring.annotation.MapperScan;

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.core.io.support.PathMatchingResourcePatternResolver;

import org.springframework.jdbc.datasource.DataSourceTransactionManager;

import javax.sql.DataSource;

@Configuration

@MapperScan(basePackages ="com.pactera.scm.mapper", sqlSessionFactoryRef = "masterSqlSessionFactory")

public class MybatisDbMasterConfig {

@Primary

@Bean(name = "masterDataSource")

@ConfigurationProperties(prefix = "spring.datasource.master")

public DataSource dataSource() {

return DataSourceBuilder.create().build();

}

@Primary

@Bean(name = "masterSqlSessionFactory")

public SqlSessionFactory sqlSessionFactory(@Qualifier("masterDataSource") DataSource dataSource) throws Exception {

SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();

factoryBean.setDataSource(dataSource);

factoryBean.setTypeAliasesPackage("com.pactera.scm.entity");

factoryBean.setMapperLocations(

new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));

return factoryBean.getObject();

}

@Primary

@Bean(name = "masterTransactionManager")

public DataSourceTransactionManager transactionManager(@Qualifier("masterDataSource") DataSource dataSource) {

return new DataSourceTransactionManager(dataSource);

}

@Bean(name = "masterSqlSessionTemplate")

@Primary

public SqlSessionTemplate testSqlSessionTemplate(

@Qualifier("masterSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {

return new SqlSessionTemplate(sqlSessionFactory);

}

}

第二數據庫配置:

package com.pactera.scm.config;

import org.apache.ibatis.session.SqlSessionFactory;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.mybatis.spring.SqlSessionTemplate;

import org.mybatis.spring.annotation.MapperScan;

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.core.io.support.PathMatchingResourcePatternResolver;

import org.springframework.jdbc.datasource.DataSourceTransactionManager;

import javax.sql.DataSource;

@Configuration

@MapperScan(basePackages = "com.pactera.scm.otherDB", sqlSessionFactoryRef = "otherSqlSessionFactory")

public class MybatisDbOtherConfig {

@Bean(name = "otherDataSource")

@ConfigurationProperties(prefix = "spring.datasource.other")

public DataSource dataSource() {

return DataSourceBuilder.create().build();

}

@Bean(name = "otherTransactionManager")

public DataSourceTransactionManager transactionManager(@Qualifier("otherDataSource") DataSource dataSource) {

return new DataSourceTransactionManager(dataSource);

}

@Bean(name = "otherSqlSessionFactory")

public SqlSessionFactory basicSqlSessionFactory(@Qualifier("otherDataSource") DataSource basicDataSource) throws Exception {

SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();

factoryBean.setDataSource(basicDataSource);

factoryBean.setMapperLocations(

new PathMatchingResourcePatternResolver().getResources("classpath:other/*.xml"));

return factoryBean.getObject();

}

@Bean(name = "otherSqlSessionTemplate")

public SqlSessionTemplate testSqlSessionTemplate(

@Qualifier("otherSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {

return new SqlSessionTemplate(sqlSessionFactory);

}

}

啟動類正常些就行了,不需要改動,保證能掃描到配置文件就行

@SpringBootApplication

@EnableConfigurationProperties

@EnableScheduling

public class ScmApplication {

public static void main(String[] args) {

SpringApplication.run(ScmApplication.class, args);

}

}

使用:

@Resource

private AccountMapper accountMapper;

直接調用就行

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的yml连接sqlserver_springboot配置双数据源 MySQL和SqlServer的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。