O processo de configuração de integração do MyBatis no Spring Boot é dividido nas seguintes etapas:
1. Adicione dependências:
Primeiro, você precisa adicionar MyBatis e dependências do driver de banco de dados ao arquivo `pom.xml` do projeto. Normalmente, você usaria a dependência do Spring Boot Starter do MyBatis para simplificar a configuração. Por exemplo, se você usar um banco de dados MySQL, poderá adicionar a seguinte dependência:
```xml
<dependencies> <!-- MyBatis Spring Boot Starter --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.0</version> <!-- 根据您的需求选择合适的版本 --> </dependency> <!-- MySQL数据库驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.27</version> <!-- 根据您的MySQL版本选择合适的驱动版本 --> </dependency> </dependencies>
```
2. Configure a fonte de dados:
Configure as informações de conexão do banco de dados no arquivo `application.properties` ou `application.yml`, incluindo URL, nome de usuário e senha. Por exemplo:
Configure usando `application.properties`:
```properties
spring.datasource.url=jdbc:mysql://localhost:3306/seu_banco de dados
spring.datasource.username=seu_nome de usuário
spring.datasource.password=sua_senha
spring.datasource.driver-class-name=com.mysql.cj .jdbc.Driver
```
Ou use a configuração `application.yml`:
```yaml
Spring: DataSource: Tipo: com.alibaba.druid.pool.Druiddatasource url: jdbc: mysql: // localhost: 3306/db_hospital? Useunicode = TRUE & Users SL = FALSE & Useunicode = True & CharacterErencoding = UTF-8 & AutoreConnect = TRUE & Failoverreadonly = False & Servertimezone = Ásia/SHANGHAI & ALLO WMultiqueries = True & AutoreConnect = verdadeiro nome de usuário: senha root : 666666 nome da classe do driver: com.mysql.cj.jdbc.Tamanho inicial do driver: 5 # Pool de conexão inicial size min-idle: 5 # Número mínimo de conexões ociosas max-active: 20 # Número máximo de conexões ativas max-wait: 60000 # Obtenha o tempo máximo de espera para conexões (milissegundos) mybatis: mapper-locations: classpath:com/ekgc /*/dao/*.xml configuração: autoMappingBehavior: PARTIAL mapUnderscoreToCamelCase: true logImpl: org.apache .ibatis.logging.log4j.Log4jImpl type-aliases-package: com.ekgc.qy.pojo servidor: porta: 8090 servlet: contexto -caminho: /qy ```
3. Crie a interface do mapeador:
Crie interfaces DAO (Data Access Object), que são utilizadas para definir métodos de operação de banco de dados. Normalmente, você usaria a anotação `@Mapper` em uma interface para dizer ao MyBatis para implementá-la como uma interface Mapper. Por exemplo:
```java
import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper { User getUserById(Long id); List<User> getAllUsers(); void insertUser(User user); void updateUser(User user); void deleteUser(Long id); }
```
4. Crie o arquivo XML do mapeador:
Escreva arquivos XML do Mapper correspondentes para cada interface do Mapper. Esses arquivos contêm instruções SQL e regras de mapeamento. Os arquivos XML do Mapper são geralmente armazenados no subdiretório `mapper` do diretório `resources`. Por exemplo, o arquivo `UserMapper.xml`:
```xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.dao.UserMapper"> <resultMap id="BaseResultMap" type="com.example.demo.entity.User"> <id column="id" property="id" jdbcType="BIGINT"/> <result column="username" property="username" jdbcType="VARCHAR"/> <!-- 其他字段映射 --> </resultMap> <select id="getUserById" resultMap="BaseResultMap"> SELECT * FROM user WHERE id = #{id} </select> <!-- 其他SQL语句 --> </mapper>
```
5. Configure a digitalização MyBatis:
Adicione a anotação `@MapperScan` na classe de aplicativo principal do Spring Boot para instruir o Spring Boot a verificar o caminho do pacote da interface do Mapper. Por exemplo:
```java
import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.example.demo.dao") // 指定Mapper接口所在的包路径 public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
```
6. Use o mapeador:
Injete interfaces do Mapper em seu serviço ou controlador e use-as para acessar o banco de dados. Por exemplo:
```java
@Service public class UserService { private final UserMapper userMapper; @Autowired public UserService(UserMapper userMapper) { this.userMapper = userMapper; } public User getUserById(Long id) { return userMapper.getUserById(id); } // 其他数据库操作方法 }
O restante pode ser ajustado e expandido de acordo com as necessidades do seu projeto e configuração do banco de dados.
```