我在SQL Server中有一个链接服务器,因此当我查询某些内容时,它必须是这样的:
SELECT * FROM [SERVERNAME].[DBNAME].[SCHEMA].[TABLE]
现在,我必须使用servername
中提供的dbname
,schema
和application.properties
来实现对现有项目的查询。
是否可以通过我的Mapper(xml)访问这些属性?
答案 0 :(得分:1)
您可以使用properties。
使用MyBatis-Spring-Boot,您可以在application.properties
中以前缀mybatis.configuration.variables.
[1]定义属性。
mybatis.configuration.variables.db_servername=YOUR_SERVER_NAME
mybatis.configuration.variables.db_dbname=YOUR_DB_NAME
mybatis.configuration.variables.db_schema=YOUR_SCHEMA
也可以引用在同一application.properties
中定义的变量。
mybatis.configuration.variables.db_servername=${servername}
mybatis.configuration.variables.db_dbname=${dbname}
mybatis.configuration.variables.db_schema=${schema}
然后,您可以使用${}
在映射器中使用这些变量。
SELECT * FROM [${db_servername}].[${db_dbname}].[${db_schema}].[TABLE]
注意:#{}
不起作用。请参见FAQ entry,以了解区别。
[1]文档说前缀是mybatis.configuration-properties.
,但是我只是对其进行了测试,因此无法正常工作。不过,这可能是我的错误。我打算在有空余时间时进行调查。