将基于 SSM(Spring + SpringMVC + MyBatis)框架项目里的 MySQL 换成 SQL Server,主要需改动以下几部分:
1. 依赖配置(pom.xml
)
- 移除 MySQL 驱动依赖:找到原 MySQL 驱动相关依赖,一般类似这样:
<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version>
</dependency>
把这部分删除,不再引入 MySQL 驱动。
- 添加 SQL Server 驱动依赖:加入 SQL Server 驱动依赖,例如(不同版本可调整,以适配项目环境):
<dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>10.2.0.jre8</version> <!-- 版本按需选,可去 Maven 仓库找合适的 -->
</dependency>
同时,若 properties
里定义了 mysql.version
,可删除或注释掉,避免混淆 。
2. 数据库连接配置(jdbc.properties
等配置文件 )
- 修改连接信息:打开
jdbc.properties
(或其他数据库连接配置文件),调整以下内容:
# MySQL 原配置示例
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/testdb?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
jdbc.username=root
jdbc.password=123456# 改为 SQL Server 配置(示例,根据实际环境调整)
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;DatabaseName=testdb # 1433 是默认端口,testdb 是数据库名
jdbc.username=sa # SQL Server 登录账号,常为 sa
jdbc.password=你的密码
主要改驱动类、连接 URL 格式、账号密码(适配 SQL Server 环境)。
3. MyBatis 映射文件配置(mybatis-config.xml)
如果 Mapper XML 文件里写了特定 MySQL 语法(比如 LIMIT
、ON DUPLICATE KEY UPDATE
等),要换成 SQL Server 支持的语法:
- 分页语法:MySQL 用
LIMIT
,SQL Server 用TOP
或OFFSET...FETCH
(SQL Server 2012+ 支持),示例:
<!-- MySQL 分页 -->
select * from user limit 10,20; <!-- SQL Server 改写(用 TOP 简单示例,复杂分页建议用 OFFSET/FETCH) -->
select top 20 * from user where id not in (select top 10 id from user); <!-- 或 SQL Server 2012+ 的标准分页 -->
select * from user
order by id
offset 10 rows fetch next 20 rows only;
- 函数差异:比如日期函数、字符串函数等,MySQL 的
DATE_FORMAT
对应 SQL Server 的FORMAT
或CONVERT
,按需替换。
4.sql语法调整(mapper xml文件)
如usermapper.xml文件
5.数据库初始化脚本(database.sql)
4. 事务、连接池等其他配置(若涉及)
如果项目里用了数据库连接池(比如 Druid、DBCP 等),配置里的驱动、URL 等也要同步改成 SQL Server 对应的,和上面 jdbc.properties
调整逻辑一致,确保连接池能正确创建 SQL Server 数据库连接。
总结一下,核心是换数据库驱动依赖、改连接配置、适配 SQL 语法,这样就能把项目从 MySQL 切换到 SQL Server 啦,改完后记得重新编译、测试,确保功能正常