编写一个测试类,类中加载MyBatis的 SqlSessionFactory ,并通过 SqlSession 对象执行数据库
时间: 2024-10-22 14:19:54 浏览: 37
MyBatis详细配置说明
编写一个测试类,用于MyBatis框架的SqlSessionFactory加载和数据库操作,通常需要以下几个步骤:
1. 引入依赖:首先在你的测试类中添加MyBatis的依赖,例如Spring Boot项目可以使用`spring-boot-starter-data-mybatis`。
```java
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring/mybatis-config.xml"})
public class MyBatisTest {
```
2. 配置SqlSessionFactory:创建一个SqlSessionFactoryBean,并配置相关的数据源、mapper的位置等信息。
```java
@Autowired
private ApplicationContext applicationContext;
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean factoryBean = new SqlSessionFactoryBean();
factoryBean.setDataSource(applicationContext.getBean(DataSource.class));
factoryBean.setMapperLocations("classpath:mapper/*.xml");
return factoryBean.getObject();
}
```
3. 使用SqlSession执行查询:通过SqlSessionFactory获取SqlSession实例,然后你可以调用它的各种方法如selectList(), insert(), update(), delete()等来进行数据库操作。
```java
@Test
public void testSelectUserById() {
SqlSessionFactory factory = sqlSessionFactory();
SqlSession sqlSession = factory.openSession();
try {
User user = sqlSession.selectOne("com.example.mapper.UserMapper.getUserById", 1);
System.out.println(user);
} finally {
sqlSession.close(); // 关闭SqlSession以释放资源
}
}
```
阅读全文