pom.xml中的依赖版本
<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.3.9.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.2</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.9.RELEASE</version> </dependency> </dependencies>
application.xml配置
<!-- 1.配置数据源 --> <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/****"/> <property name="username" value="****"/> <property name="password" value="****"/> </bean> <!-- 2.配饰sqlSessionFoctory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="configLocation" value="mybatis-config.xml"/> </bean> <!-- 3.创建sqlSession --> <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> </bean> <!-- 4.接口实现类注入sqlSession --> <bean id="引用的接口实现类" class="全路径"> <property name="实现类中的sqlSessionTemplate" ref="sqlSession"/> </bean>
事务配置
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <constructor-arg ref="dataSource"/> </bean> <!-- 配置声明式事务通知--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- name指定需要事务的方法;propagation配置事务的传播行为 --> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <!-- 配置AOP织入事务--> <aop:config> <!-- 切入点 --> <aop:pointcut id="txpointcut" expression="execution(* 全类名.*(..))"/> <!-- 通知--> <aop:advisor advice-ref="txAdvice" pointcut-ref="txpointcut"/> </aop:config>