为什么 MyBatis
要和 Spring
整合
Spring
会帮助我们管理 bean
:省去我们对 SqlSessionFactory、SqlSession、Mapper
映射器这些核心对象(bean
)的创建,不需要我们手工去创建了,Spring
会通过 IOC
容器来帮我们管理这些对象
Spring
使用 xxxTemplate
封装了方法:Spring
整合 MyBatis
,它为我们提供了一个 xxxTemplate
方法,方便我们去调用
Spring
整合 MyBatis
Maven
依赖
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
创建 Spring
配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<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="123abc"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="configLocation" value="classpath:/resource/cfg.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="mapperFactoryBean" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="net.itaem.dao.PersonDao"/>
<property name="sqlSessionFactory" ref="sqlSessionFactory"/>