Spring 整合 Mybatis -- Spring入门保姆级教程(四)
发布人:shili8
发布时间:2023-06-01 16:40
阅读次数:22
Spring 整合 Mybatis 是一个非常常见的开发场景,本文将介绍如何使用 Spring 整合 Mybatis,以及如何配置和使用 Mybatis。
1. 配置 Mybatis
首先,我们需要在 pom.xml 文件中添加 Mybatis 和 Mybatis-Spring 的依赖:
<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.6</version> </dependency>
然后,我们需要在 Spring 的配置文件中配置 Mybatis:
<!-- 配置数据源 --> <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/> <property name=username value=root/> <property name=password value=root/> </bean> <!-- 配置 Mybatis 的 SqlSessionFactory --> <bean id=sqlSessionFactory class=org.mybatis.spring.SqlSessionFactoryBean> <property name=dataSource ref=dataSource/> <property name=configLocation value=classpath:mybatis-config.xml/> </bean> <!-- 配置 Mybatis 的 MapperScannerConfigurer --> <bean class=org.mybatis.spring.mapper.MapperScannerConfigurer> <property name=basePackage value=com.example.mapper/> </bean>
在上面的配置中,我们首先配置了数据源,然后配置了 Mybatis 的 SqlSessionFactory,最后配置了 Mybatis 的 MapperScannerConfigurer。
2. 编写 Mapper
接下来,我们需要编写 Mapper 接口和对应的 Mapper.xml 文件。这里以一个 UserMapper 为例:
public interface UserMapper { User getUserById(int id); }
<select id=getUserById parameterType=int resultType=com.example.model.User> select * from user where id = #{id} </select>
在上面的代码中,我们定义了一个 UserMapper 接口,其中有一个方法 getUserById,它对应了一个 Mapper.xml 文件中的 select 语句。
3. 使用 Mapper
最后,我们需要在 Spring 中使用 Mapper。这里以一个 UserService 为例:
@Service public class UserService { @Autowired private UserMapper userMapper; public User getUserById(int id) { return userMapper.getUserById(id); } }
在上面的代码中,我们使用了 @Autowired 注解将 UserMapper 注入到 UserService 中,然后在 getUserById 方法中调用了 UserMapper 的 getUserById 方法。
至此,我们已经完成了 Spring 整合 Mybatis 的配置和使用。