SpringMVC整合MyBatis
先配置一个SpringMVC框架,再通过SpringMVC整合MyBatis
1.导入包:
2.配置数据源
<!-- 第一步:配置数据源 --> <bean name="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> <!-- 配置连接数据库的四要素 --> <property name="driverClassName" value="org.gjt.mm.mysql.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/sms" /> <property name="username" value="root" /> <property name="password" value="123456" /> </bean>
3.整合MyBatis配置
<!-- 如何让Mybatis使用spring的连接池 --> <!-- Mybatis整合包的实现方式,是让spring代理Mybatis的创建会话工厂,然后实现一个扫描器,将Mybatis的的操作接口加到spring容器里面 --> <!-- 1.创建spring代理的会话工厂 --> <bean name="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 会话工厂引用连接池 --> <property name="dataSource" ref="dataSource"></property> <!-- 配置映射文件 ,spring支持通配符*,表示加载Mapper.xml结尾映射文件--> <property name="mapperLocations" value="classpath:mybatis-mapper/*Mapper.xml"></property> </bean> <!-- 2.使用扫描器将操作的接口扫描到spring容器 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 使用会话工厂 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryBean"></property> <!-- 扫描的接口的放在哪个包下 --> <property name="basePackage" value="cn.gzsxt.mapper"></property> </bean> <!-- 3.spring支持Mybatis的事物代理, 代理Mybatis的事务--> <bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 对哪个数据源使用事务代理 --> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 编程式事务代理,事务注解支持事务 --> <tx:annotation-driven transaction-manager="transactionManager"/> </beans>