springmvc整合mybatis纯注解
时间: 2023-10-26 11:08:12 浏览: 107
springMVC+mybatis整合(注解)
Spring MVC和MyBatis的整合可以通过注解来完成。下面是一个简单的示例代码,演示了如何在Spring MVC项目中使用纯注解方式整合MyBatis。
首先,确保你的项目中已经加入了Spring MVC和MyBatis的依赖。然后按照以下步骤进行配置。
1. 创建数据源配置类
```java
@Configuration
public class DataSourceConfig {
@Bean
public DataSource dataSource() {
// 配置数据源,例如使用HikariCP等
return new HikariDataSource();
}
@Bean
public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource);
// 配置MyBatis扫描路径
sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/*.xml"));
return sessionFactoryBean.getObject();
}
@Bean
public MapperScannerConfigurer mapperScannerConfigurer() {
MapperScannerConfigurer scannerConfigurer = new MapperScannerConfigurer();
scannerConfigurer.setBasePackage("com.example.mapper");
return scannerConfigurer;
}
}
```
2. 创建MyBatis配置类
```java
@Configuration
public class MyBatisConfig {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
```
3. 创建控制器(Controller)和服务(Service)类
```java
@Controller
@RequestMapping("/example")
public class ExampleController {
@Autowired
private ExampleService exampleService;
@RequestMapping("/list")
public String list(Model model) {
List<Example> examples = exampleService.getAllExamples();
model.addAttribute("examples", examples);
return "example/list";
}
}
@Service
public class ExampleService {
@Autowired
private ExampleMapper exampleMapper;
public List<Example> getAllExamples() {
return exampleMapper.getAllExamples();
}
}
```
4. 创建MyBatis Mapper接口和XML映射文件
```java
public interface ExampleMapper {
List<Example> getAllExamples();
}
```
```xml
<!-- src/main/resources/mapper/ExampleMapper.xml -->
<mapper namespace="com.example.mapper.ExampleMapper">
<select id="getAllExamples" resultType="com.example.model.Example">
SELECT * FROM example
</select>
</mapper>
```
以上是一个简单的示例,展示了如何使用纯注解方式在Spring MVC项目中整合MyBatis。你可以根据自己的需求进行相应的修改和扩展。
阅读全文