在平时的工作中有时候是需要在配置文件中配置全局变量的,因为这些东西是不会变的,并且每个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>