spring cloud 中如何让使用MyBatis
时间: 2024-03-16 20:45:28 浏览: 64
springMVC与MyBatis整合所需要的
在 Spring Cloud 中使用 MyBatis 需要进行如下配置:
1. 引入 MyBatis 依赖
在 `pom.xml` 中添加 MyBatis 和 MyBatis-Spring 的依赖:
```xml
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mybatis.version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${mybatis-spring.version}</version>
</dependency>
```
其中,`${mybatis.version}` 和 `${mybatis-spring.version}` 分别为 MyBatis 和 MyBatis-Spring 的版本号。
2. 配置数据源
在 `application.yml` 中配置数据源信息,例如:
```yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydb
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
```
其中,`url`、`username`、`password` 和 `driver-class-name` 分别为数据库连接 URL、用户名、密码和 JDBC 驱动程序的类名。
3. 创建 MyBatis Mapper
创建 MyBatis Mapper,用于定义 SQL 语句和映射关系。例如:
```java
// UserMapper.java
public interface UserMapper {
User selectUserById(Integer id);
}
```
4. 配置 MyBatis
在 Spring Boot 应用程序的配置类中添加 MyBatis 的配置:
```java
@Configuration
@MapperScan("com.example.mapper")
public class MyBatisConfig {
@Autowired
private DataSource dataSource;
@Bean
public SqlSessionFactory sqlSessionFactory() throws Exception {
SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
return sessionFactory.getObject();
}
@Bean
public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
```
其中,`@MapperScan` 注解用于指定 MyBatis Mapper 的包路径,`SqlSessionFactory` 和 `SqlSessionTemplate` 分别用于创建和管理 MyBatis 的会话对象。
5. 使用 MyBatis
在代码中使用 MyBatis,例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getUserById(Integer id) {
return userMapper.selectUserById(id);
}
}
```
在以上代码中,通过 `@Autowired` 注解注入 `UserMapper`,然后调用 `selectUserById` 方法执行 SQL 查询。
阅读全文