【MyBatis】MyBatis是怎么在Spring Boot中初始化的?
MyBatis在Spring Boot中的初始化通常是通过Spring Boot的自动配置完成的。以下是简化的步骤和示例代码:
- 在
pom.xml
中添加Spring Boot Starter MyBatis依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
- 在
application.properties
或application.yml
中配置MyBatis的基本属性,如数据库连接信息、mapper文件位置等。 - 创建Mapper接口和对应的Mapper XML文件。
- 在Spring Boot应用的主类上添加
@MapperScan
注解来指定Mapper接口所在的包路径。
示例代码:
pom.xml
中添加依赖:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
application.properties
配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=secret
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml
Mapper接口和XML示例:
// UserMapper.java
@Mapper
public interface UserMapper {
User selectUserById(int id);
}
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectUserById" resultType="com.example.domain.User">
SELECT * FROM users WHERE id = #{id}
</select>
</mapper>
主类中配置@MapperScan
:
@SpringBootApplication
@MapperScan("com.example.mapper")
public class MyApp {
public static void main(String[] args) {
SpringApplication.run(MyApp.class, args);
}
}
以上步骤和代码展示了如何在Spring Boot项目中配置和初始化MyBatis。当Spring Boot应用启动时,MyBatis的自动配置器会根据提供的配置来初始化SqlSessionFactory,并且扫描@MapperScan
指定的包路径下的Mapper接口,创建代理对象并注册到Spring容器中,以便于应用程序使用。
评论已关闭