spring整合mybatis 注解方式
时间: 2023-11-07 21:49:26 浏览: 107
在Spring中整合MyBatis的注解方式有以下几个步骤:
1. 配置数据源:在Spring的配置文件中,配置数据源,例如使用Spring的`DataSource`或者使用第三方的连接池,如`C3P0`、`Druid`等。
2. 配置SqlSessionFactoryBean:通过`SqlSessionFactoryBean`来创建`SqlSessionFactory`,并将数据源和MyBatis的配置文件关联起来。配置示例如下:
```xml
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
</bean>
```
3. 配置MapperScan:使用`MapperScan`注解来自动扫描Mapper接口,并为其创建代理对象,省去手动编写Mapper实现类的过程。配置示例如下:
```java
@Configuration
@MapperScan("com.example.mapper")
public class MyBatisConfig {
// 配置其他相关的MyBatis配置项
}
```
4. 编写Mapper接口和SQL语句:在Mapper接口中使用注解来定义SQL语句,如`@Select`、`@Insert`、`@Update`、`@Delete`等。示例代码如下:
```java
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User selectUserById(Integer id);
@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})")
void insertUser(User user);
@Update("UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}")
void updateUser(User user);
@Delete("DELETE FROM user WHERE id = #{id}")
void deleteUser(Integer id);
}
```
5. 注入Mapper接口:在需要使用Mapper接口的地方进行注入,如在Service层中使用`@Autowired`注解进行注入。示例代码如下:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(Integer id) {
return userMapper.selectUserById(id);
}
// 其他业务方法
}
```
通过以上步骤,就可以实现Spring与MyBatis的注解方式整合。
阅读全文