<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.0</version>
</dependency>
https://github.com/mybatis/jpetstore-6 Mybatis和Spring整合项目
<!--SpringMVC 包扫描配置-->
<!--use-default-filters 禁用默认过滤行为,只包含 生效-->
<context:component-scan base-package="..." use-default-filters="false">
<context:include-filter type="annotation" expression="org.sparingframework.stereotype.Controller" />
</context:component-scan>
<bean class="...InternalResolver">
<property name="prefix" value="/WEB-INF/pages/">
<property name="suffix" value=".jsp" />
</bean>
<mvc:annotation-driven></mvc:annotation-driven>
<mvc:default-servlet-handler />
<!--Spring配置-->
<context:component-scan>
<context:exclude-filter type="annotation" expression="org.sparingframework.stereotype.Controller" />
</context:component-scan>
<!--引入数据配置文件位置-->
<context:property-placeholder location="classpath:dbconfig.properties" />
<!--数据源-->
<bean id="dataSource" class="...c3p0...">
<property name="jdbcUrl" value="${jdbc.url}" />
...
</bean>
<!--事务管理器-->
<bean id="datasourceTransactionManager" class="...DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--配置基于注解的事物-->
<tx:annotation-driven transaction-manager="dataSourceTransactionManager" />
<!--整合Mybatis-->
<!--Spring管理所有组件,mapper的实现类,service调用mapper,使用注入@Autowired-->
<!--factoryBean 的getObject方法 创建出sqlSessionFactory对象-->
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!--指定全局配置文件位置-->
<property name="configlocation" value="classpath:mybatis-config.xml" />
<!--指定mapper文件位置-->
<property name="mapperLocations" value="classpath:mapper/*Mapper.xml" />
</bean>
<!--扫描mapper接口实现,让mapper自动注入 指定mapper接口的包名-->
<mapper-spring:scan base-package="...dao" />
mybatis-config.xml
留下 <settings> <databaseIdProvider>