若依系统不分离版框架Mysql更换SqlServer

前言:最近下载开源项目若依ruoyi,将其更数据库Mysql更换SqlServer的一些注意事项,与君分享。

1、数据库安装

使用SSMA将mysql迁移至mssql,参考这两个文档

MySQL数据库迁移到SQL Server----------SSMA(SQL Server Migration Assistant for MySQL)工具安装及使用_weixin_39921737的博客-CSDN博客_ssma安装

ssma for mysql_SSMA for MySQL_weixin_39926193的博客-CSDN博客

若依的数据库脚本是mysql,先用navcate创建一个名为dbo的数据库。(名称最好是dbo,如果数据库名为 ruoyi,迁移到mssql后表名称为 ruoyi.sys_dept)
若依系统不分离版框架Mysql更换SqlServer_第1张图片

 运行这两个脚本,创建表

参考上述文档,将在mysql中建好的表,迁移到sql server2016中

若依系统不分离版框架Mysql更换SqlServer_第2张图片

2、参考文章,修改后台代码

ruoyi(若依)系统使用SqlServer数据库_op4439的博客-CSDN博客_若依数据库

 一、ruoyi-admin 中pom.xml 添加mssql驱动

        
        
            com.microsoft.sqlserver
            mssql-jdbc
        

 二、数据库配置文件修改

spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
        druid:
            # 主库数据源
            master:
               url: jdbc:sqlserver://localhost:1433;DatabaseName=ry
               username: sa
               password: 你的密码

若依系统不分离版框架Mysql更换SqlServer_第3张图片

  1、配置检测连接是否有效如下:若依系统不分离版框架Mysql更换SqlServer_第4张图片

2、分页插件配置如下:

若依系统不分离版框架Mysql更换SqlServer_第5张图片

三、代码部分修改

1、定时任务配置ScheduleConfig类设置sqlserver 启用配置,这个原文件注释了,暂不修改。

2、SQL语句函数修改,用IDEA功能 Find in files 全局检索修改。

  • ifnull()  改 isnull()
  • find_in_set 修改,下面两处,在SysDeptMapper
    
    	
    
  • concat 替换为 ''+'', server2016 支持这个函数,不需要修改

  • sysdate 替换为 getdate,  这个比较多,用替换Replace

  • date_format 日期范围检索的,改用datediff,用多处,慢慢改,如下(<= 符号 用 <=  替换)

    
        
    	and datediff(day,login_time,#{params.beginTime}) <= 0
    
    
        
    	and datediff(day,login_time,#{params.endTime}) >= 0
    
  • limit 1 替换成 top 1 ,位置需要修改(这种好像只有一处,在sysConfigMapper.xml中)

  • select count(1)...limit 1 ,直接删除limit 1 就可以

3、生成代码部分的sql修改  

若依系统不分离版框架Mysql更换SqlServer_第6张图片

  • 修改 selectDbTableList,selectDbTableListByNames  

 
 
	
  • selectDbTableColumnsByName , 在GenTableColumnMapper.xml文件中

    4、代码生成器中修改sql.vm

    -- 按钮父菜单ID
    Declare @parentId int
    SELECT @parentId = @@IDENTITY

 

 

你可能感兴趣的:(java,mysql,sqlserver,数据库)