[SpringBoot] [Mybatis] integração com o springboot mybatis não pode verificar a solução Mapper.xml

Ao integrar MyBatis no SpringBoot, pode haver um problema que o arquivo Mapper.xml não pode ser verificado

Erros comuns são:

  org.apache.ibatis.binding.BindingException: instrução vinculada inválida (não encontrada): o nome completo do método da interface

Geralmente, esse tipo de erro ocorre porque não está mapeado para o arquivo mapper.xml:

Direção de solução de problemas:

  1. A interface do mapeador e o caminho correspondente do arquivo xml estão no mesmo diretório?

  Por exemplo: o nome completo da interface do mapeador: com.xxx.mybatis.mapper.xxxMapper

  O xxxMapper.xml correspondente é o mesmo no pacote com.xxx.mybatis.mapper no diretório java, conforme mostrado na figura:

  

 

Neste momento:

  Há um problema oculto: o  projeto maven será empacotado durante a execução e os recursos xml no diretório java serão ignorados durante a compactação.

A solução:

  A configuração no pom.xml é a seguinte:

1  < construção > 
2      < recursos > 
3          < recurso > 
4              < diretório > src / main / java </ diretório > 
5              < inclui > 
6                  < incluem > ** / *. Xml </ include > 
7              </ inclui > 
8          < / resource > 
9          < resource > 
10              < diretório > src / main / resources </ diretório> 
11          </ resource > 
12      </ resources > 
13  </ build >            

  2. Se não estiver no mesmo diretório, mas o arquivo xml estiver no diretório de recursos, verifique se a interface do mapeador corresponde ao arquivo xml?

  

  A imagem acima é a correspondente, que pode ser digitalizada neste momento

Se não corresponder, você também pode personalizar o caminho da verificação:

  Em application.properties, a configuração é a seguinte:

mybatis.mapper-locations = classpath: o caminho que você deseja verificar, como com / xxx / mybatis / *. xml

Até agora: o problema deve ser resolvido

 

 

Alguns parceiros pequenos podem ter sido transferidos do ssm. Estou curioso para saber que o SqlSessionFactor e o MapperScan configurados anteriormente se foram, isso é desnecessário?

Aprenda sobre os princípios de montagem automática do SpringBoot, e não vou entrar em detalhes aqui.

mybatis-spring-boot-starter também fornece a classe de montagem automática correspondente

 

Acho que você gosta

Origin www.cnblogs.com/nysd/p/12745110.html
Recomendado
Clasificación