Índice
1. Configuração do Mybatis no springMVC
1. Adicione dependências em MyBatis e MyBatis-Spring
4. Escreva a interface do Mapper e o arquivo XML correspondente
2. Configuração Yml do mybatis no springnboot
1. Adicione dependências MyBatis e MyBatis-Spring-Boot-Starter
3. Escreva a interface do Mapper e o arquivo XML correspondente
4. Escreva o arquivo XML correspondente userMapper.xml
3. Configuração do mybatis-plus no springmvc
1. Adicione a dependência do MyBatis-Plus
3. Use as anotações e funções fornecidas pelo MyBatis-Plus
4. Configuração do mybatis-plus no springboot
1. Adicione a dependência do MyBatis-Plus
3. Use as anotações e funções fornecidas pelo MyBatis-Plus
1. Configuração do Mybatis no springMVC
1. Adicione dependências em MyBatis e MyBatis-Spring
<dependencies>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- MyBatis-Spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis-spring.version}</version>
</dependency>
</dependencies>
2. Configurar fonte de dados
Adicione a configuração da fonte de dados em ou application.properties
. application.yml
Por exemplo, o exemplo de configuração usando o banco de dados MySQL é o seguinte:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=your_username
spring.datasource.password=your_password
3. Configurar MyBatis
application-context.xml
Adicione informações de configuração do MyBatis, o exemplo é o seguinte :
<!-- MyBatis 配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="typeAliasesPackage" value="com.example.entity"/>
<property name="mapperLocations" value="classpath:mapper/**/*.xml"/>
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
</bean>
Aqui, typeAliasesPackage
especifique o nome do pacote onde a classe de entidade está localizada e mapperLocations
especifique a localização do arquivo Mapper. MapperScannerConfigurer
Usado para especificar o nome do pacote onde a interface do Mapper está localizada. Aqui com.example.mapper
está o nome do pacote do exemplo. Você precisa substituí-lo pelo nome real do pacote.
4. Escreva a interface do Mapper e o arquivo XML correspondente
Definir interface do mapeador
// 定义 Mapper 接口
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
public User getUserById(int id);
}
O arquivo XML correspondente userMapper.xml
// 对应的 XML 文件 userMapper.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.mapper.UserMapper">
<select id="getUserById" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
2. Configuração Yml do mybatis no springnboot
1. Adicione dependências MyBatis e MyBatis-Spring-Boot-Starter
<dependencies>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<!-- MyBatis-Spring-Boot-Starter -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>${mybatis.spring.boot.starter.version}</version>
</dependency>
</dependencies>
2. Configurar fonte de dados
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=your_username
spring.datasource.password=your_password
3. Escreva a interface do Mapper e o arquivo XML correspondente
// 定义 Mapper 接口
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User getUserById(int id);
}
4. Escreva o arquivo XML correspondente userMapper.xml
// 对应的 XML 文件 userMapper.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.mapper.UserMapper">
<select id="getUserById" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
3. Configuração do mybatis-plus no springmvc
1. Adicione a dependência do MyBatis-Plus
<dependencies>
<!-- MyBatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
</dependencies>
2. Configurar fonte de dados
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/my_database
spring.datasource.username=your_username
spring.datasource.password=your_password
# 配置MyBatis-Plus属性
mybatis-plus.mapper-locations=classpath*:/mapper/**/*Mapper.xml
mybatis-plus.type-enums-package=com.example.enums
3. Use as anotações e funções fornecidas pelo MyBatis-Plus
// 定义实体类
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String password;
private Integer age;
}
// 定义 Mapper 接口
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 可以直接使用继承自 BaseMapper 的方法,不需要编写具体的 SQL 语句
}
4. Execute Spring MVC
Nota: MyBatis-Plus mapeará para a tabela correspondente no banco de dados de acordo com as regras de nomenclatura da classe de entidade por padrão.Se a classe de entidade e o nome da tabela forem inconsistentes, você pode usar anotações @TableName
para especificar. Ao mesmo tempo, @TableId
a anotação especifica a estratégia de geração de chave primária.
4. Configuração do mybatis-plus no springboot
1. Adicione a dependência do MyBatis-Plus
<dependencies>
<!-- MyBatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
</dependencies>
2. Configurar fonte de dados
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/my_database?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=your_username
spring.datasource.password=your_password
# 配置MyBatis-Plus属性
mybatis-plus.mapper-locations=classpath*:/mapper/**/*Mapper.xml
mybatis-plus.type-enums-package=com.example.enums
3. Use as anotações e funções fornecidas pelo MyBatis-Plus
// 定义实体类
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
private String username;
private String password;
private Integer age;
}
// 定义 Mapper 接口
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 可以直接使用继承自 BaseMapper 的方法,不需要编写具体的 SQL 语句
}
4. Execute Spring MVC
Nota: MyBatis-Plus mapeará para a tabela correspondente no banco de dados de acordo com as regras de nomenclatura da classe de entidade por padrão.Se a classe de entidade e o nome da tabela forem inconsistentes, você pode usar anotações @TableName
para especificar. Ao mesmo tempo, @TableId
a anotação especifica a estratégia de geração de chave primária.
Console exibe log SQL
Springboot configura o console mybatis para exibir log sql, emapplication.properties
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
Springboot configura o console mybatis-plus para exibir o log sql, emapplication.properties
logging.level.com.baomidou.mybatisplus=DEBUG
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl