在平时的工作中有时候是需要在配置文件中配置全局变量的,因为这些东西是不会变的,并且每个mapper都传参的话也显得有点繁琐,还好mybatis本身是支持全局变量的,今天工作中用到了,记录一下。
先在实例化sqlSessionFactory的时候添加上mybatis-configuration.xml的配置文件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath:mapping/*.xml" />
<property name="configLocation" value="classpath:mybatis-configuration.xml" />
</bean>
之后在mybatis-configuration配置文件中添加全局变量
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties>
<property name="变量名" value="变量的值"/>
</properties>
</configuration>
之后就可以在任何一个mybatis中使用这个全局变量了。
<select id="selectByName" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
u.id, u.userName
from ${变量名}.Manage u
where u.userName = #{userName,jdbcType=VARCHAR}
</select>