ssm+maven+mysql+sql server多数据源使用(新手上路,欢迎大神留言指教)

SQL Server2022版本 + SSMS安装教程(手把手安装教程) 阅读详情

1.首先咱先分析需求,如下:通过java同时连接mysql和sql server数据库,使得两个数据库数据实现功能开发。(此方法不是用注解来实现的)
2.ssm框架的搭建(这个是基础,有太多大神的博客可以参考)
3.引入jar包,特别说明一下sql server的, 因为是微软的,直接从远程仓库拿不到。需先下载到本地相应文件夹下,然后在pom.xml配置
在这里插入图片描述

4.数据库配置文件database.properties(两个数据源写一起,省略部分配置)
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://192.xxx.x.xxx:3306/td_oa?useUnicode=true&characterEncoding=utf-8
user=xxx
password=xxxx

db_url= jdbc:sqlserver://192.xxx.x.xxx:1433;DatabaseName=bserptest
db_driver= com.microsoft.sqlserver.jdbc.SQLServerDriver
db_username=xx
db_password=xxxx
5.配置application.xml(主要有关数据库的配置)

<context:property-placeholder location=“classpath:database.properties”
system-properties-mode=“NEVER” />

<!-- JNDI获取数据源mysql(dbcp连接池) -->
<bean id="mySqldataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
	<property name="driverClassName" value="${driver}"/>
	<property name="url" value="${url}"/>
	<property name="username" value="${user}"/>
	<property name="password" value="${password}"/>
</bean>
<!--连接数据库sqlserver -->
<bean id="sqlServerDataSource" class="org.apache.commons.dbcp.BasicDataSource"
	destroy-method="close">
	<property name="driverClassName" value="${db_driver}" />
	<property name="url" value="${db_url}" />
	<property name="username" value="${db_username}"/>
	<property name="password" value="${db_password}"/>
</bean>


<!-- 编写spring配置文件配置多数据源映射关系 -->
<bean class="cn.newkena.project.tools.DynamicDataSource" id="pooledDataSource">  
    <property name="targetDataSources">   
       <map key-type="java.lang.String">   
           <entry value-ref="mySqldataSource" key="mysql"></entry>  
           <entry value-ref="sqlServerDataSource" key="mssql"></entry>  
       </map>   
    </property>   
    <property name="defaultTargetDataSource" ref="mySqldataSource" ></property>  
   <!--  <property name="defaultTargetDataSource" ref="sqlServerDataSource" ></property>   -->
</bean>  

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
	<!-- 指定mybatis全局配置文件的位置 -->
	<property name="configLocation" value="classpath:mybatis-config.xml"></property>
	<!-- 指定数据源 -->
	<property name="dataSource" ref="pooledDataSource"></property>
			<property name="mapperLocations" value="classpath:dao/*.xml"/> 
			<property name="typeAliasesPackage" value="cn.newkena.project.pojo"/>								  
</bean>
	<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
	<constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"></constructor-arg>
	<!-- <constructor-arg name="executorType" value="BATCH"></constructor-arg> -->
</bean>
<!--=============================================  -->

<!-- ===============事务控制的配置 ================-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
	<!--控制住数据源  -->
	<property name="dataSource" ref="pooledDataSource"></property>
</bean>
6.工具类
(1)package cn.newkena.project.tools;

/**

  • 动态配置多数据源
  • 数据源的名称常量类
  • @author

*/
public class DataSourceConst {

public static final String MYSQL="mysql";  
public static final String MSSQL="mssql";  

}
(2)
package cn.newkena.project.tools;

/**

  • 获得和设置上下文环境 主要负责改变上下文数据源的名称

*/
public class DataSourceContextHolder {

private static final ThreadLocal contextHolder = new ThreadLocal(); // 线程本地环境  

// 设置数据源类型  
public static void setDataSourceType(String dataSourceType) {  
	contextHolder.set(dataSourceType);  
}  

// 获取数据源类型  
public static String getDataSourceType() {  
	return (String) contextHolder.get();  
}  

// 清除数据源类型  
public static void clearDataSourceType() {  
	contextHolder.remove();  
}  

}
(3)
package cn.newkena.project.tools;

import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;

/**

  • 建立动态数据源

*/
public class DynamicDataSource extends AbstractRoutingDataSource {

@Override
protected Object determineCurrentLookupKey() {
	// 在进行DAO操作前,通过上下文环境变量,获得数据源的类型  
	return DataSourceContextHolder.getDataSourceType();
}

}
7.serviceimpl
package cn.newkena.project.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import cn.newkena.project.dao.SqlMapper;
import cn.newkena.project.pojo.TestSql;
import cn.newkena.project.service.TestSqlService;
import cn.newkena.project.tools.DataSourceConst;
import cn.newkena.project.tools.DataSourceContextHolder;

@Service
public class TestSqlServiceImpl implements TestSqlService {
@Autowired
SqlMapper sqlMapper;

@Override
public List<TestSql> selectAllInfo() {
	//切换新数据源
	DataSourceContextHolder.setDataSourceType(DataSourceConst.MSSQL); 
	try {
		return sqlMapper.selectAll();

	} catch (Exception e) {
		e.printStackTrace();
	}finally {
		//切回原来的数据源
		DataSourceContextHolder.setDataSourceType(DataSourceConst.MYSQL);
	}
	return null;
	//return sqlMapper.selectAll();
}

}
写到这里就差不多了。剩下的都是基础代码,希望能帮到各位
原创作品,禁止转载

【SqlServer】SQL Server Management Studio (SSMS) 下载、安装、配置使用及卸载——保姆级教程 通过以上教程,你可以完成 SQL Server Management Studio (SSMS) 的下载、安装、数据库连接及卸载操作。希望对你有所帮助,若有问题欢迎指正~?? 阅读详情

相关推荐

Springboot项目同时连接SQLServer数据库和MySql数据库

今天的任务就是把同时连接SQLServer和MySql的环境搭配好 在组长的帮助下,一步一步测试摸索后终于完成了! 首先是把俩个数据源写在同一个yaml里面 配置完成后再去创建工具类 MySql工具类代码: package com.gl.framework.config; import javax.sql.DataSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springfram.

jf0524aa的博客 4618

Springboot mybatis-plus同时连接两个数据库

mybatis-plus同时连接两个数据库

tangan007的博客 3376

ssm+sqlserver集成项目简单查询数据库,带jar包

ssm集成带jar,还有简单的查询,集合配置简而易懂,易于初学者可以重新开发,还有gen生成mapper 。

springboot+mysql+sql server+mybatis-plus 多数据源使用

springboot多数据源,mysql+sql server+mybatis-plus

Java_优快云_W的博客 505

SSM连接sqlserver数据库配置

SSM如何连接sqlserver数据库?目前网上的几乎都是连接mysql的。替换src目录下的configuration.properties,以及WEB-INF目录下的context.xml文件就可以连接上了。lib目录下加入sqljdbc42.jar用于连接Sqlserver。再把mysql的语句语法改为sqlserver的就可以了。

长安车机破解后能干啥?分享我的UNI-K车机安装第三方应用与优化体验实录

本文详细记录了长安UNI-K车机破解后的实用玩法与深度优化指南,包括安装第三方应用、导航体验升级、影音系统改造及系统美化等。通过工具箱和升级技巧,车主可以大幅提升用车体验,解锁更多隐藏功能。

weixin_33217202的博客 404

SpringBoot+MyBatis项目中同时操作多个数据库

SpringBoot项目中同时操作多个数据库

智慧包的博客 1万+

硬件-电源-智能保护:eFuse选型与实战设计全攻略

本文深入解析eFuse在硬件电源设计中的关键作用与实战选型技巧。作为智能保护器件,eFuse能提供毫安级精度的过流保护、多重故障防护和智能恢复功能,比传统保险丝快1000倍以上。文章详细介绍了eFuse的工作原理、五大选型维度和PCB布局要点,帮助工程师有效预防电源异常导致的硬件损坏,适用于AI服务器、工业控制等场景。

weixin_30879169的博客 200

如何同时支持mysql和SQL_Mybatis同时支持多种数据库(oracle 和MySQL)

这里说下对多种数据库的支持,不是多个数据源。这里要用到mybatis的databaseId。如下:SELECT EXISTS(SELECT 1 FROM `${db}`.test_table WHERE table_id=#{tableId} LIMIT 1)SELECT COUNT(*) FROM ${db}."test_table " WHERE "table_id"=#{tableId}在m...

weixin_42515056的博客 1226

STM32使用内部RC振荡器作为系统时钟开发项目--内晶振启动模板工程

STM32使用内部RC振荡器时,OSC32_IN,OSC32_OUT接法: 1)对于100脚或144脚的产品,OSC_IN应接地,OSC_OUT应悬空。 2)对于少于100脚的产品,有2种接法:    2.1)OSC_IN和OSC_OUT分别通过10K电阻接地。此方法可提高EMC性能。    2.2)分别重映射OSC_IN和OSC_OUT至PD0和PD1,再配置PD0和PD1为推挽输出

overflyme的博客 1万+

基于ROS2的无人机野生动物巡查系统设计

自主巡检系统是嵌入式人工智能与机器人技术融合的关键应用方向,其核心在于多源感知融合、实时路径规划与端侧智能识别的协同实现。原理上依赖SLAM定位构建环境地图,结合栅格化建模与混合路径算法(如蚁群+BFS)达成全覆盖遍历;技术价值体现在资源受限平台下的确定性响应与时空对齐能力,支撑高鲁棒性野外作业。典型应用场景包括生态监测、禁飞区巡检及小尺度智能安防。本文围绕ROS2 Humble中间件架构、Livox激光雷达与MaixCAM视觉协同、YOLO11n INT8模型端侧部署等关键技术展开,突出嵌入式AI与实时控

weixin_30598047的博客 649

maven项目使用myBatis连接SqlServer

使用myBatis,实体类的属性名必须与数据库实体的属性名一致。 导入maven依赖 maven对应的依赖包我是使用将本地已有的jar包安装到maven本地仓库中 maven安装jar包命令:mvn install:install-file -Dfile=sqljdbc42.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.2 命令解释:mvn install:install-fi

qq_42774702的博客 1978

从地方政府网站抓取政务公开数据:Python爬虫技术详解

在本文中,我们通过具体实例介绍了如何使用Python编写爬虫,从地方政府门户网站抓取政务公开数据。我们使用了requestsSelenium等最新技术,结合SQLite数据库存储抓取的数据,最后使用matplotlib进行数据可视化分析。通过本项目,您可以掌握如何抓取政府网站的公开数据,并将其进行清洗、存储和分析。这些技术对于进行政府政策分析、公共服务分析等方面具有重要的实际意义。希望通过本文的介绍,您能够更好地理解政务数据抓取的流程和方法,并能在实际工作中运用这些技术进行数据采集和分析。

2201_76125261的博客 1703

maven搭建 Spinrgboot + mybais 实现多数据源(SQL server) 2.多数据源配置

2.多数据源 2.1  多数据源  DataSourceConfig 类   多的不说,上代码,上一篇有关于appliaction.yml   pom.xml  mybatis.xml 等配置文件    地址:.https://blog.youkuaiyun.com/qq_41129021/article/details/83538706 import org.apache.log4j.Log...

浩 858

R语言Rstudio突然无法启动且报错:ERROR system error 42 [str: 一, len: 3, from: UTF-8, to: ISO8859-1]...如何解决

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2847

Arduino开发实例-EMG 肌肉信号传感器

在医学研究中,测量肌肉的活动、收缩和扩张非常重要。 EMG 肌肉传感器测量肌肉活动并产生信号以显示扩张和收缩量。 因此,输出取决于所选肌肉的活动量。 3 绿色、红色和黄色电极连接到模块,用于传输来自肌肉运动的电信号。

视觉与物联智能 1698

Spring boot+Maven+Mabytis+sqServer连接数据库完整代码

万事开头难,中间难,结尾更难! 在开发过程中更是如此,在开发项目过程中难以避免会遇到很多开发问题,可能会遇到业务上的逻辑问题,也可能遇到一些比较常见的大小写错误等常见问题,但是刚才说了万事开头难,那么在程序开发过程中开头难到底是什么呢? 我相信程序员已经知道答案了就是一些配置问题,我们往往在开发新项目时要根据项目的需求学习一些新的技术或者为了程序的稳定不得不重新换一种技术进行编程。 我遇到的开发需...

qq_41060065的博客 5930

【AutoSAR】【诊断栈】传输层CANTP

一、功能介绍 数据包发送放拆包分段发送 数据包接收方重组 流控 错误检测 二、参考协议 ISO 15765-2 三、数据帧格式 1、协议数据单元(PDU)格式 2、协议数据单元 - PCI格式 四、数据帧传输 1、单帧传输 CAN帧数据长度小于8字节(包括PCI信息) 无流控握手 PCI包含帧类型、数据长度和数据域 未使用字节填充 2、多帧传输 数据长度超过8字节 流控握手 定时控制 CAN帧类型包括: 首帧 流控帧 后继帧 3、多..

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 1554

Intellij+maven配置SQL sever

这个jar包,添加方法有很多帖子可以找到,不赘述了。(而且也不一定是必须的,我只是在配置的过程中配置了这一步,也不知道是不是一定需要,有些人用cmd配置,其实可以在intellij直接配置)。第一步下载依赖包,因为中央仓库没有jdbc的依赖,所以得自己下载。,网上有很多链接包,去找一下就能找到。添加完成后刷新,如果不报红色应该是没什么问题了。如果是没有报错,那就没啥问题了。放到maven依赖包文件夹下,两个文件夹选一个就行了。然后是配置依赖,我用的是sqljdbc4。然后在配置页面添加配置。

qq_69684924的博客 1166

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java配置多数据源完整代码(SSM框架mysql +sqlserver数据库)

记录说明:项目使用Spring+SpringMVC+Mybatis框架,项目之前一直在使用mysql数据库,后因项目对接需要,配置多数据源增加sqlserver数据库。 梳理一下相关的文件: 1、pom.xml文件(使用的是maven管理工具) 2、DataSource 接口注解文件 3、DataSourceAspect 类文件 4、DynamicDataSourceHolder 类文件...

知世故而不世故 5993

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java连接mysql和SQLServer数据库

Java连接mysql和SQLServer数据库 原理:   一图胜千言,下图来自百度百科 Java项目连接mysql数据库的步骤   1、新建目标数据库 2、导入mysql数据库驱动jar包至项目 3、编写连接代码   第一步,新建数据库。 Mysql数据库的安装不详细介绍,网上有详细教程。这里使用命令方式加+数据库管理工具Navicat来创建和查询数据库。

myblog 2856

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ssm+sqlserver的配置

pom配置 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> </pr

weixin_43750002的博客 915

mybatis-plus(XX)

mybatis-plus springboot集成mybatis-plus 1、导入依赖 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.versi

Rabir-YellowDavid的博客 450

ssm配置双数据源mysql,sqlserver

记录说明:项目使用Spring+SpringMVC+Mybatis框架,项目之前一直在使用mysql数据库,后因项目对接需要,配置多数据源增加sqlserver数据库。 梳理一下相关的文件: 1、pom.xml文件(使用的是maven管理工具) 2、DataSource 接口注解文件 3、DataSourceAspect 类文件 4、DynamicDataSourceHolder 类文件 5、Mu...

qq_40155654的博客 1121

SSM项目实现连接两个mysql数据库

https://blog.youkuaiyun.com/kaylovejie/article/details/80625507

qq_34655177的博客 824

SSM配置连接MYSQL

本次测试环境基于SSM环境,环境部署请见:用IDEA快速搭建SpringBoot环境 在pom.xml中以引入MyBatis-Plus和MYSQL JDBC驱动依赖(如果已经引用Mybatis了,请删除以免发生冲突) <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <ver

Otto的学习笔记 5796
下一篇: 简单的ssm+poi导出数据到excel表实现
javaXingzhe
博客等级 码龄8年 3145粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值