MyBatis integrado ao SpringBoot (2), teste de unidade e suporte a transações

Integrar MyBatis

Em SpringBoot (a) - Quick Start e construir o projeto , que tenham concluído o SpringBoot construção inicial, aqui vamos ver como usar MyBatis em SpringBoot na verdade, havia descrito em detalhes na introdução MyBatis MyBatis com a Primavera de Integração , integração do MyBatis no SpringBoot também é muito simples, primeiro precisamos introduzir dependências relacionadas, da seguinte maneira:

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.2</version>
</dependency>
<!-- mysql驱动 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.38</version>
</dependency>

Definitivamente, precisamos nos conectar ao banco de dados, portanto, também precisamos adicionar as informações necessárias para se conectar ao banco de dados no arquivo application.properties, da seguinte maneira:

spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root

Deve-se observar aqui que o adicionamos ao configurar a conexão de URL do banco de serverTimezone=GMT%2B8dados.Se o fuso horário não for adicionado no Spring Boot 2, poderá ser relatado um erro.O significado desse parâmetro é o seguinte: O fuso horário de Pequim é o East Eight District, levando oito UTC Horas. E serverTimezone=UTCrepresenta o tempo padrão global.


Além disso, também precisamos adicionar nossas informações do Mapper.xml no arquivo de configuração, da seguinte maneira:

mybatis.mapperLocations=classpath:mapper/*.xml

De fato, podemos clicar para inserir as informações de configuração acima, da seguinte maneira:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

No SpringBoot, também podemos configurar algumas informações no projeto da maneira acima




Teste de unidade

Enquanto integramos o MyBatis no SpringBoot, podemos basicamente usar testes de unidade para testar.Antes disso, podemos criar uma nova tabela de usuário no teste do banco de dados e, em seguida, usar o gerador de código Mybatis Generator apresentado anteriormente Para gerar o código correspondente, não repetirei a introdução aqui


Antes de usar testes de unidade, precisamos adicionar testes relacionados

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <version>2.1.12.RELEASE</version>
    <scope>test</scope>
</dependency>

Em seguida, realizamos testes relevantes, da seguinte maneira:

@SpringBootTest(classes = DemoApplication.class)
@RunWith(SpringRunner.class)
public class UserTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    public void testUser(){
        System.out.println(userMapper.selectByPrimaryKey(1));
    }
}

A operação encontrou os seguintes erros:
Insira a descrição da imagem aqui

Pensaremos nisso quando virmos isso: verifica-se que apenas analisamos pacotes relacionados, mas não adicionamos comentários a eles, portanto, precisamos adicionar comentários relevantes ao arquivo Mapper.java, da seguinte maneira:
Insira a descrição da imagem aqui

Aqui temos um arquivo Mapper, precisamos adicioná-lo apenas uma vez, caso geremos muitos arquivos Mapper.java de uma só vez, queremos adicionar um por um, aqui podemos realmente adicionar o caminho de verificação correspondente ao SpringBoot , Da seguinte maneira:
Insira a descrição da imagem aqui

De fato, fizemos configurações semelhantes na integração do MyBatis e Spring




Suporte de transação

Quanto ao suporte a transações no Spring Boot, é quase o mesmo que introduzimos no Spring. Só precisamos adicionar @Transactionalanotações ao método. A única diferença é que, quando usamos transações no Spring, também devemos adicionar @EnableTransactionManagement Observe e você precisa adicionar a configuração correspondente, da seguinte maneira:
Insira a descrição da imagem aqui


Agora não é necessário no SpringBoot, apenas usamos @Transactionalanotações, é claro, também podemos adicionar @EnableTransactionManagementanotações, da seguinte maneira:
Insira a descrição da imagem aqui

286 artigos originais publicados · Gostei12 · Visitantes com mais de 10.000

Acho que você gosta

Origin blog.csdn.net/newbie0107/article/details/105106329
Recomendado
Clasificación