ruoyi(若依)系统使用SqlServer数据库

近期使用若依前后端分离版开发一个公司内部系统,由于指定使用SqlServer数据库,所以采用若依3.7.0版,自己转换脚本及对应查询。

具体修改如下:

1、admin把mysql引用替换为

<dependency>
   <groupId>com.microsoft.sqlserver</groupId>
   <artifactId>mssql-jdbc</artifactId>
</dependency>

2、数据库配置修改:driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver

其他就是连接及用户密码信息

# 配置检测连接是否有效
 validationQuery: select 'x'

分页pagehelper配置
  helperDialect: sqlserver

3、定时任务配置ScheduleConfig类设置sqlserver 启用配置

4、SQL语句函数修改

ifnull 替换为 isnull 
find_in_set find_in_set(#{deptId}, ancestors) 替换为  charindex (',' + CONVERT (VARCHAR, #{deptId}), ',' + ancestors) > 0
concat 替换为 ''+''
sysdate  替换为 getdate
date_format date_format(u.create_time,'%y%m%d') >= date_format(#{params.beginTime},'%y%m%d') 替换为 DATEDIFF(day, u.create_time , #{params.endTime}) >= 0 
limit 1    替换为 top(1) (注意位置差异)

5、生成代码包SQL修改

selectDbTableList 修改为

SELECT
   		so.name table_name,
		sep.value table_comment,
		so.create_date create_time,
		so.modify_date update_time
		FROM
		sys.objects AS so
		LEFT JOIN sys.extended_properties AS sep ON so.object_id = sep.major_id
		WHERE
		so.type = 'U'
		AND sep.minor_id = 0
		AND so.name NOT LIKE 'qrtz_%' AND so.name NOT LIKE 'gen_%'
		AND so.name NOT IN (select table_name from gen_table)

selectDbTableListByNames修改为

SELECT
		SO.name table_name,
		SEP.VALUE table_comment,
		SO.create_date create_time,
		SO.modify_date update_time
		FROM
		sys.objects AS SO
		LEFT JOIN sys.extended_properties AS SEP ON SO.object_id = SEP.major_id
		WHERE
		SO.type = 'U'
		AND SEP.minor_id = 0
		and SO.name NOT LIKE 'qrtz_%' and SO.name NOT LIKE 'gen_%'
		and SO.name in
	    <foreach collection="array" item="name" open="(" separator="," close=")">
 			#{name}
        </foreach> 

selectDbTableColumnsByName修改为

SELECT a.name AS column_name,
	   (
		   CASE
			   WHEN a.isnullable = 1 THEN
				   0
			   ELSE
				   1
			   END
		   )  AS is_required,
	   (
		   CASE
			   WHEN (
						SELECT COUNT(*)
						FROM sysobjects
						WHERE (
								name IN (
								SELECT name
								FROM sysindexes
								WHERE (id = a.id)
								  AND (
										indid IN (
										SELECT indid
										FROM sysindexkeys
										WHERE (id = a.id)
										  AND (
												colid IN (
												SELECT colid
												FROM syscolumns
												WHERE (id = a.id)
												  AND (name = a.name)
											)
											)
									)
									)
							)
							)
						  AND (xtype = 'PK')
					) > 0 THEN
				   1
			   ELSE
				   0
			   END
		   )  AS is_pk,
	   a.colorder  AS sort,
	   isnull(g.[value], ' ') AS column_comment,
	   (
		   CASE
			   WHEN COLUMNPROPERTY(a.id, a.name, 'IsIdentity') = 1 THEN
				   1
			   ELSE
				   0
			   END
		) AS is_increment,
	   b.name  AS column_type
FROM syscolumns a
		 LEFT JOIN systypes b ON a.xtype = b.xusertype
		 INNER JOIN sysobjects d ON a.id = d.id
	AND d.xtype = 'U'
	AND d.name  <![CDATA[ <> ]]> 'dtproperties'
		 LEFT JOIN syscomments e ON a.cdefault = e.id
		 LEFT JOIN sys.extended_properties g ON a.id = g.major_id
	AND a.colid = g.minor_id
		 LEFT JOIN sys.extended_properties f ON d.id = f.class
	AND f.minor_id = 0
		 LEFT JOIN sys.objects h ON a.id = h.object_id
		 LEFT JOIN sys.schemas i ON h.schema_id = i.schema_id
WHERE d.name = #{tableName}
ORDER BY a.colorder

参考:sqlserver查看表名及表注释_毒牙-CSDN博客_sqlserver获取表注释

sqlserver 获取schema、表、字段等关键信息_aixin999的博客-CSDN博客

### 回答1: 若依分离版 sqlserver指的是将MSSQL Server的不同组件分离出来进行独立安装和部署的解决方案。采用这种方案可以提高系统的灵活性和可维护性,同时也能够降低系统的故障率,提高系统的容错能力。 若依分离版 sqlserver可以分为三个组件,分别是数据库引擎(database engine)、分析服务(analysis services)和报表服务(reporting services)。数据库引擎是MSSQL Server最核心的组件,负责管理数据库的存储和管理,为各种应用程序提供数据存储和查询服务;分析服务是基于OLAP技术的服务,为用户提供高效的数据分析工具;报表服务则提供了一些丰富的报表设计和发布工具,为企业的业务决策提供了重要的支持。 采用若依分离版 sqlserver,可以根据需要仅安装需要的组件,节省系统资源开销;同时也可以分别对不同的组件进行升级和维护,降低了部署和维护的难度和繁琐程度。在具有较高业务应用性能的情况下,采用该解决方案可以进一步提高性能并优化用户体验。 总之,若依分离版 sqlserver是一种更加灵活和可维护的方案,可以为企业提供更加优质的数据存储和管理服务,为用户提供更加高效的数据分析和决策支持。 ### 回答2: 若依分离版 sqlserver,是指若依信息技术有限公司开发的一款优秀的数据库管理系统。该系统采用分离式存储架构,将数据和查询分别存储于不同的计算机上,实现了高效的数据管理和查询功能。 首先,若依分离版 sqlserver具有出色的数据管理能力。它能够对数据进行高效储存、备份、恢复和同步等管理操作,大大减少了人工管理的工作量和数据管理的出错概率。同时,它还支持数据加密和权限控制等安全特性,提高了数据管理的可靠性和安全性。 其次,若依分离版 sqlserver具有高效的查询功能。它采用了多种查询优化技术,提高了查询的速度和质量。其中,索引、分区和统计分析等特性,可以让查询结果更为精确、更快速。 最后,若依分离版 sqlserver还具有出色的可扩展性和稳定性。它支持多种操作系统和数据格式,并已通过了多次测试和认证。此外,它还提供了诸多兼容性特性,可以方便地与其他软件集成。 总之,若依分离版 sqlserver是一款出色的数据库管理系统。无论是在数据管理、查询功能还是可扩展性和稳定性方面,它都能够表现出色,值得广大用户使用。 ### 回答3: 若依分离版SQL Server是一种轻量级的SQL服务器解决方案,其主要特点是将SQL服务器拆分成多个独立的部分,使其更加灵活、可配置和可扩展。 这种分离版机制包括三个主要部分:前端、后端和数据库。前端负责接收和处理用户请求,后端负责处理数据库操作,而数据库则是实际存储数据的地方。这种分离版机制可以轻松地对数据库进行扩展和优化,同时可以更好地处理大量的数据请求。 另外,若依分离版SQL Server还包括一系列插件,这些插件可以帮助用户更好地监控和管理SQL服务器。这些插件包括:性能监控插件、日志查询插件、SQL执行计划插件、安全性插件等。 若依分离版SQL Server在云计算、大数据、物联网、人工智能等领域都拥有广泛的应用,其轻量级的特征和高效的性能让其在这些领域中大放异彩。此外,由于其灵活性和可配置性,若依分离版SQL Server还可以很好地集成到现有的技术栈中,实现更精细的数据处理,提升数据生产力。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值