Доступ к свойствам из Mappers - PullRequest
0 голосов
/ 27 марта 2020

У меня есть связанный сервер на SQL Сервере, поэтому, когда я что-то запрашиваю, он должен выглядеть примерно так:

SELECT * FROM [SERVERNAME].[DBNAME].[SCHEMA].[TABLE]

Теперь я должен реализовать этот способ запроса к существующему проекту с servername, dbname и schema, указанные в моем application.properties.

Есть ли какой-либо способ доступа к этим свойствам из моего Mapper (xml)?

1 Ответ

1 голос
/ 27 марта 2020

Вы можете использовать свойства .
С 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 .

[1] do c говорит, что префикс mybatis.configuration-properties., но я только что протестировал его, и он не работал. Хотя это может быть моей ошибкой. Я планирую провести расследование, когда у меня будет свободное время.

...