SpringMVC和MyBatis整合的具体步骤
时间: 2023-12-03 09:44:09 浏览: 95
SpringMVC mybatis整合实例代码详解
SpringMVC和MyBatis的整合可以分为以下几个步骤:
1. 配置数据源:在Spring的配置文件中配置数据库连接池和数据源,如使用c3p0或者Druid。
2. 配置SqlSessionFactory:使用MyBatis提供的SqlSessionFactoryBean,将数据源注入到其中,并配置MyBatis的mapper文件和实体类的包路径。
3. 配置事务管理器:使用Spring提供的事务管理器,如DataSourceTransactionManager。
4. 配置MapperScannerConfigurer:将MyBatis的mapper接口扫描到Spring容器中,并自动注入到需要使用的地方。
5. 配置Controller和Service层:在SpringMVC中配置Controller,Service层注入MyBatis的mapper接口。
6. 编写Mapper接口和Mapper.xml文件:定义Mapper接口,编写Mapper.xml文件,实现与数据库的交互操作。
具体配置代码如下:
1. 配置数据源和连接池
```
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="${jdbc.driverClassName}"/>
<property name="jdbcUrl" value="${jdbc.url}"/>
<property name="user" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- c3p0连接池的一些参数配置 -->
<property name="acquireIncrement" value="5"/>
<property name="initialPoolSize" value="10"/>
<property name="minPoolSize" value="5"/>
<property name="maxPoolSize" value="20"/>
<property name="maxIdleTime" value="3000"/>
</bean>
```
2. 配置SqlSessionFactory
```
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="typeAliasesPackage" value="com.example.model"/>
<property name="mapperLocations" value="classpath*:mapper/*.xml"/>
</bean>
```
3. 配置事务管理器
```
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
```
4. 配置MapperScannerConfigurer
```
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.dao"/>
</bean>
```
5. 配置Controller和Service层
```
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/list")
public ModelAndView list() {
ModelAndView mav = new ModelAndView("user/list");
List<User> userList = userService.getUserList();
mav.addObject("userList", userList);
return mav;
}
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> getUserList() {
return userMapper.getUserList();
}
}
```
6. 编写Mapper接口和Mapper.xml文件
```
public interface UserMapper {
List<User> getUserList();
}
<mapper namespace="com.example.dao.UserMapper">
<select id="getUserList" resultType="com.example.model.User">
select * from user
</select>
</mapper>
```
以上是整合SpringMVC和MyBatis的基本步骤和配置。
阅读全文