[JAVA] Désactiver le cache MyBatis3

Lors d'une recherche à l'aide de MyBatis, le comportement par défaut est que si vous l'appelez avec les mêmes paramètres dans la même transaction, l'instance mise en cache sera renvoyée sans émettre de SQL à partir de la deuxième fois.

[Paramètres MyBatis3](http: // http: //www.mybatis.org/mybatis-3/ja/configuration.html)

MyBatis utilise un cache local pour résoudre les références circulaires et accélérer les requêtes imbriquées. Par défaut (SESSION), tous les résultats de requête dans la même session sont mis en cache. Si vous définissez localCacheScope sur STATEMENT, le cache local est appliqué instruction par instruction. En d'autres termes, plusieurs appels à la même SqlSession ne partageront pas de données.

Désactiver le cache

Vous pouvez modifier le cache local à gérer instruction par instruction en définissant ce qui suit: Lors de la gestion par instruction, MyBatis exécute SQL à chaque fois pour obtenir la dernière entité.

application.properties


mybatis.config-location=classpath:/mybatis/mybatis-config.xml

mybatis-config.xml


<?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="localCacheScope" value="STATEMENT" />
	</settings>
</configuration>

Recommended Posts

Désactiver le cache MyBatis3
Mon mémorandum Batis
Mon histoire de Batis