Spring学习(10)整合Mybatis

tech2024-06-15  61

整合Mybatis

步骤:

导入相关jar包 1.junit 2.mybatis 3.mysql数据库 4.aop 5.mybatis-spring <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.49</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.3</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.1.9.RELEASE</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.6</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.2</version> </dependency> </dependencies>

2.编写配置文件 3.测试

回忆Mybatis

1.编写实体类 2.编写核心配置文件 3.编写接口 4.编写Mapper.xml 5.测试

Mybatis-spring

1.编写数据源配置 2.sqlSessionFactory 3.sqlSessionTemplate 4.需要给接口加实现类 5.测试

声明式事务

把一组事务当成一个业务来做;要么都成功,要么都失败食物在项目开发中,十分重要,涉及到数据的一致性问题确保完整性和一致性

事务ACID原则:

原子性一致性隔离性持久性

Spring中的事务管理

声明式事务:AOP编程式事务:需要在代码中,进行事务的管理

如果不配置事务,可能存在数据提交不一致的情况

如果不在Spring中配置声明式事务,就需要在代码中手动配置事务

食物在项目的开发中十分重要,涉及到数据的一致性和完整性问题

<!--十五开启--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!--AOP in--> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="add" propagation="REQUIRED"/> <tx:method name="delete" propagation="REQUIRED"/> <tx:method name="update" propagation="REQUIRED"/> <tx:method name="query" read-only="true"/> <tx:method name="*" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="txPointCut" expression="execution(* com.zhao.Mapper.*.*(..))"/> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPointCut"></aop:advisor> </aop:config>
最新回复(0)