实现Spring Boot MyBatis SqlSessionFactory的步骤
1.添加相关依赖
首先,在你的Spring Boot项目的pom.xml
文件中添加以下依赖:
<dependencies>
<!-- Spring Boot依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- MyBatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!-- 数据库驱动依赖 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
2.配置数据源
在application.properties
(或application.yml
)文件中配置数据库连接信息,以及MyBatis相关配置:
# 数据库连接配置
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
# MyBatis配置
mybatis.type-aliases-package=com.example.domain
mybatis.mapper-locations=classpath:mapper/*.xml
3.创建MyBatis映射文件
在resources
目录下创建mapper
目录,并在该目录下创建MyBatis的映射文件UserMapper.xml
。此处以一个User
实体为例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.example.domain.User">
<id column="id" property="id" />
<result column="name" property="name" />
<result column="age" property="age" />
</resultMap>
<select id="getUserById" resultMap="BaseResultMap">
SELECT * FROM users WHERE id = #{id}
</select>
</mapper>
4.创建实体类和Mapper接口
创建com.example.domain.User
实体类:
public class User {
private Long id;
private String name;
private Integer age;
// 省略getter和setter方法
}
创建com.example.mapper.UserMapper
接口:
public interface UserMapper {
User getUserById(Long id);
}
5.创建SqlSessionFactory配置类
创建一个配置类com.example.config.MyBatisConfig
,用于配置SqlSessionFactory
:
@Configuration
@MapperScan("com.example.mapper")
public class MyBatisConfig {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(dataSource);
return factoryBean.getObject();
}
}
6.测试
创建一个测试类com.example.MyBatisApplicationTests
,并编写测试方法:
@SpringBootTest
class MyBatisApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void testGetUserById() {
User user = userMapper.getUserById(1L);
System.out.println(user);
}
}
7.运行项目
现在,你可以运行你的Spring Boot应用程序,并通过testGetUserById
方法来测试获取用户信息的功能。
以上就是实现Spring Boot MyBatis SqlSessionFactory的全部步骤。
希望这篇文章对你有所帮助!