mybatis设置延迟加载解决n+1问题

2019-03-02 10:31|来源: 网路

在mybatis的配置中文件中加入以下两项就可以解决n+1问题,也就是如果没有使用到关联的ID,就不会去执行额外的sql
<setting name="lazyLoadingEnabled" value="true" />
<setting name="aggressiveLazyLoading" value="false" />

<?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>
	<settings>
		<setting name="lazyLoadingEnabled" value="true" />
    	        <setting name="aggressiveLazyLoading" value="false" />  
	</settings>

	
	<typeAliases>
	</typeAliases>

	<mappers>
		<mapper resource="com/mapper/xml/userMapper.xml"/>
		<mapper resource="com/mapper/xml/utilMapper.xml"/>
	</mappers>
</configuration>


<!-- 配置SqlSessionFactoryBean --> 
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 
       <property name="dataSource" ref="dataSource"/>  
       <property name="configLocation" value="classpath:configuration.xml" /> 
       <!-- 
       <property name="mapperLocations" value="classpath:com/mapper/xml/*.xml" />
       -->
    </bean>

相关问答

更多