2

我在我的项目中使用 Spring 和 Mybatis。项目可以在任何平台上运行,如 SQL Server Oracle 等。

我面临 1 个问题我想从属性文件、应用程序上下文文件到 Mybatis Mapper 文件中访问变量值。

For.eg : ApplicationContext.xml - Spring 文件
config.properties 文件

在上面的文件中想要 decalare 变量可以说
pName = XYZ

我想在 Mybatis Mapper XML 文件中访问这个 pName。

<select id="getValue" parameterType="java.lang.String" >
${pName}
</select>

怎么可能?如果有任何其他解决方案最受欢迎。

4

2 回答 2

3

访问弹簧方式:使用

<util:properties id="myPropertyConfigurer" location="classpath:yourpropertiesfile.properties"/>

<context:property-placeholder  properties-ref="myPropertyConfigurer" order="1" ignore-unresolvable="true" />

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="applicationDataSource" />
    <property name="configLocation" value="classpath:sqlMapConfig.xml" />
    <property name="configurationProperties" ref="myPropertyConfigurer"></property>
</bean>

在您的映射器 xml 文件中:

<select id="searchSomeOne" parameterType="map" .....>
        SELECT
        ${pName} AS module
        FROM MY_TABLE
        WHERE
        COL_ONE = #{moduleName} and
        COL_TWO like #{username}
</select>

pName=MODULE在 yourpropertiesfile.properties 中定义

于 2015-11-17T12:38:36.823 回答
0

您可以这样做 - 1. 在您的mybatis-config.xml文件中添加以下代码行

<properties resource="path/to/config.properties" />

然后您应该能够访问${keyName}映射器文件中的所有键。

来自 mybatis 文档的参考 - http://mybatis.org/mybatis-3/configuration.html#properties

于 2015-11-17T11:03:45.927 回答