O cliente envia a mesma declaração de consulta SQL para o servidor de banco de dados. Se você acessar o banco de dados sempre, ele levará a uma degradação do desempenho.
Então, como melhorar?
Mybatis nos fornece uma estratégia para o cache do nível 1
Entre a abertura e o fechamento de uma SQLSession, o objeto SQLSession (na verdade um executor) manterá um objeto em cache. Ao consultar os dados, procure primeiro se os dados existem do cache e, se houver, serão recuperados diretamente. Se não existir, envie uma consulta SQL para o banco de dados e, em seguida, armazene os dados consultados no cache e retorne -os ao programa.
Isso terá um problema:
Se um programa alterar os dados do banco de dados a serem verificados durante a primeira e a segunda consulta, isso fará com que os dados de leitura estejam errados, ou seja,
A leitura suja é na verdade mybatis, limpará o cache depois de executar o método Commit () no SQLSession. Na segunda vez que vou para a consulta, ainda vou consultar o banco de dados.
Você também pode chamar manualmente o método ClearCache () de SQLSession para limpar o cache
Pequenos exemplos:
@Test public void testCacheLever1 () lança exceção {SQLSession Session = Factory.opensession (); UserMApper Mapper = session.getMapper (UserMApper.class); // A primeira solicitação é consultar o usuário com ID 1 usuário do usuário = mapper.finduserbyId (1); System.out.println (usuário); // Alterar dados, o cache será limpo user.setUserName ("AAAA"); mapper.UpDateUser (usuário); session.Commit (); // A segunda consulta procurará o usuário do usuário2 = mapper.findUserbyId (1); System.out.println (user2); session.close (); }pergunta:
Se o SQLSession estiver fechado, o cache será limpo. Como você usa o cache para melhorar a eficiência?
Ok, o próximo artigo apresenta o cache Mybatis Nível 2 para você.
O acima é o cache de primeiro nível Mybatis introduzido pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!