我在项目中使用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>
如果有任何其他解决方案,我们怎么可能呢?
答案 0 :(得分:2)
访问spring方式: 使用
<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>
在mapper xml文件中:
<select id="searchSomeOne" parameterType="map" .....>
SELECT
${pName} AS module
FROM MY_TABLE
WHERE
COL_ONE = #{moduleName} and
COL_TWO like #{username}
</select>
并在yourpropertiesfile.properties
中定义pName=MODULE
答案 1 :(得分:0)
你可以这样做 -
1.在mybatis-config.xml
文件中添加以下代码行
<properties resource="path/to/config.properties" />
然后,您应该能够在映射器文件中以${keyName}
访问所有密钥。
来自mybatis文档的参考 - http://mybatis.org/mybatis-3/configuration.html#properties