spring整合mybatis代码实现
时间: 2023-11-07 17:57:12 浏览: 44
好的,以下是Spring整合MyBatis的代码实现:
1. 首先,需要在pom.xml文件中引入相关依赖:
```
<dependencies>
<!-- Spring 相关依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<!-- MyBatis 相关依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.4</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.4</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
</dependencies>
```
2. 配置数据源和MyBatis的SqlSessionFactory
在Spring的配置文件中,配置数据源和MyBatis的SqlSessionFactory,例如:
```
<!-- 数据源配置 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
<!-- MyBatis的SqlSessionFactory配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mapperLocations" value="classpath*:com/example/mapper/*.xml" />
</bean>
```
3. 配置MyBatis的MapperScannerConfigurer
在Spring的配置文件中,配置MyBatis的MapperScannerConfigurer,例如:
```
<!-- MyBatis的MapperScannerConfigurer配置 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>
```
其中,`basePackage`指定Mapper接口所在的包路径,`sqlSessionFactoryBeanName`指定SqlSessionFactory的Bean名称。
4. 编写Mapper接口和映射文件
在Mapper接口中定义SQL语句的映射方法,例如:
```
public interface UserMapper {
User selectUserById(int id);
}
```
在映射文件中,定义SQL语句的具体实现,例如:
```
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectUserById" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
```
5. 在Service中使用Mapper
在Service中注入Mapper,例如:
```
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User getUserById(int id) {
return userMapper.selectUserById(id);
}
}
```
至此,Spring整合MyBatis的代码实现就完成了。